rubygems-backports

This gem backports (and forward ports) the old RubyGems 1.x-1.6.x API, reviving the Gem::SourceIndex to its old pre-1.7.x state. It allows developers to write library code that depends on any version of RubyGems and not have to force users to upgrade to RubyGems 1.7.x+.

Usage

With this gem, you can continue using Gem::SourceIndex as you used to; currently we simply use the old SourceIndex class verbatim, but in the near future we will forward these methods to the new 1.7.x+ API, for instance:

gem.source_index.find_name('foo') # equivalent: Specification.find_by_name('foo')

If you want to use the new API

To use the gem, simply require 'rubygems-backports'. Alternatively, you can call Gem.load_plugins. The gem will load the correct code (the old API, or the new API) depending on what's missing.

Known Issues

This gem currently only supprts the SourceIndex class and Specification.find_by_name. The other deprecated (and new) API calls will be added in the near future. Help out by forking the project and submitting new backports.

Contributing

You can contribute and add new backports by forking the project on Github and submitting a pull request. Pull requests are always appreciated!

License

This gem is mostly comprised of RubyGems code, and therefore uses the RubyGems license, see LICENSE. All RubyGems code is marked with the copyright notice at the top of the file. All other files are under the MIT license.