This project is archived and is in readonly mode.

Changeset [2bf58aa782d3b493f2d98f153324b93c5b058ba6] by Matt Jones

October 5th, 2008 @ 06:16 PM

Fix a number of errors in the config.gem mechanism.

  • Rails::GemDependency was missing definitions for hash and eql?, causing Array#uniq to not work.

  • If several versions of a gem are unpacked in vendor, now chooses the highest if no version is specified.

  • streamlined add_load_path. Now sets up Rubygems correctly to allow 'gem' to find frozen gems, with gems frozen to vendor/gems and specifications in vendor/gems/<gem-name>/.specification

  • Rails::GemDependency#specification would return a spec for the highest installed version, even for frozen gems and/or previously loaded lower versions. See in part ticket #1123.

  • removed vendor from default_load_paths - it was causing autoloading to append Gems::Gems::<gem-dir> to constant names

  • added additional tests for loading frozen gems.

  • incorporates the fix from #1107 for vendor rails

  • defers to freeze:gems for handling the Rails framework. gems:unpack WILL NOT place a copy of Rails in vendor/gems. Should close #1123 completely.

  • incorporates, via using the gem loader for frozen gems, fixes corresponding to #227, #324, #362, #527, and #742.

  • gem plugins now work the same whether frozen or not. Correctness of the behavior is a matter for another ticket...

Signed-off-by: rick technoweenie@gmail.com http://github.com/rails/rails/co...

Committed by Matt Jones

  • M railties/lib/initializer.rb
  • M railties/lib/rails/gem_builder.rb
  • M railties/lib/rails/gem_dependency.rb
  • M railties/lib/rails/plugin.rb
  • M railties/lib/rails/vendor_gem_source_index.rb
  • M railties/lib/tasks/gems.rake
  • M railties/test/gem_dependency_test.rb
  • M railties/test/vendor/gems/dummy-gem-a-0.4.0/.specification
  • M railties/test/vendor/gems/dummy-gem-a-0.4.0/lib/dummy-gem-a.rb
  • M railties/test/vendor/gems/dummy-gem-b-0.4.0/.specification
  • M railties/test/vendor/gems/dummy-gem-b-0.4.0/lib/dummy-gem-b.rb
  • M railties/test/vendor/gems/dummy-gem-b-0.6.0/.specification
  • M railties/test/vendor/gems/dummy-gem-b-0.6.0/lib/dummy-gem-b.rb
  • M railties/test/vendor/gems/dummy-gem-c-0.4.0/.specification
  • M railties/test/vendor/gems/dummy-gem-c-0.4.0/lib/dummy-gem-c.rb
  • M railties/test/vendor/gems/dummy-gem-c-0.6.0/.specification
  • M railties/test/vendor/gems/dummy-gem-c-0.6.0/lib/dummy-gem-c.rb

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>