Prepping your Gemfile for Rubinius

By Chris Gaffney on June 23, 2011 in

Rubinius 2.0 is on it’s way and it’s shaping up to be a serious contender. Adding support for Rubinius to your gem should be pretty painless.

Here at [i] it’s common for us to depend on support utilities like ruby-debug or perftools. Fortunately Rubinius comes with a very solid debugger and profiler. The best solution I’ve found is to use Bundler’s :platform rules to limit those libraries to Matz’s ruby.

4 Comments

If you’re using Bundler’s ‘gemspec’ method, this won’t work. You will need to use something like this directly in your .gemspec file:
if !defined?(RUBY_ENGINE) || RUBY_ENGINE != ’rbx’ s.add_development_dependency ‘rcov’, ‘~> 0.9’ s.add_development_dependency ‘metric_fu’, ‘~> 2.1’ end

Ah the wicked webs we weave. See using gemspec, not a great idea really. And using environment conditions, even worse. Essentially you’ve tied your gem build to your environment, so the .gem file will com out different depending on your current rvm selection. Remember the gemspec if not copied to .gem it is processed and saved a static YAML.