[Rubygems-developers] Is This Fixed?

Eric Hodel drbrain at segment7.net
Thu Jan 18 22:11:00 EST 2007

On Jan 18, 2007, at 18:16, Anthony Eden wrote:

> Take a look at the following Rails ticket:
> http://dev.rubyonrails.org/ticket/2346
> Will this be fixed now with all of new enhancements and reworking of
> the rubygems code? It's not really a concern of mine, but since I'm
> going through old Rails tickets I figure I'd see if it was a known
> issue and if so if it has been addressed.

> But when running through rubygems, when initializer.rb is required,  
> it actually loads the entire framework BEFORE requiring  
> initializer.rb (traced this through w/ a bunch of hacked puts  
> statements).

If Rails is still using require_gem and has autorequire set, this may  
be a problem.  Don't do that.  (use require_gem or autorequire).

> The 'require' definition of rubygems goes ahead and activates all  
> the dependent gems as well.

If you require 'x' (and 'x' is in gem foo then foo's lib directories  
will be added to $:) then 'x.mumble' will be loaded.

Other than the part in the parentheses, RubyGems' require should  
behave exactly as Kernel#require.  I didn't check, but I believe it  
in fact does.

If you're using require_gem, and have autorequire in your gemspec,  
then bad things may happen.

If Rails is using require_gem still, that may be a problem.  There's  
a separate ticket for that:


Eric Hodel - drbrain at segment7.net - http://blog.segment7.net


More information about the Rubygems-developers mailing list