You can now specify the version of Ruby in the Gemfile like the following:
ruby '1.9.3'
That line declares that this application has a dependency on the Ruby VM that is ABI-compatible with 1.9.3. If the version check does not match, Bundler will raise an exception. This will ensure the running code matches. You can be more specific with the :engine and :engine_version options.
ruby '1.9.3', :engine => 'jruby', :engine_version => '1.6.7'
Learn More: Ruby Directive
The bundle package command can also package :git and
:path dependencies besides .gem files. This needs to be explicitly enabled
via the --all option. Once used, the --all option will be remembered.
Learn More: bundle pack
Now when developing against a remote git repository, you can use a local
git repo and keep the remote version for deployment. You can do this by
setting a local git override:
bundle config local.GEM_NAME /path/to/local/git/repository
For example, in order to use a local Rack repository, a developer could call:
bundle config local.rack ~/Work/git/rack
and in your Gemfile you would set:
gem 'rack', :github => 'rack/rack', :branch => 'master'
You'll need to reference a git branch, since Bundler will do checks to
ensure you don't work with invalid references. If the branch specified in
the Gemfile and the current branch in the local git
repository do not match, Bundler will abort. This ensures that a
developer is always working against the correct branches, and prevents
accidental locking to a different branch.
Learn More: Git