ruby-changes:14370
From: nobu <ko1@a...>
Date: Wed, 30 Dec 2009 17:52:01 +0900 (JST)
Subject: [ruby-changes:14370] Ruby:r26200 (trunk): * lib/rubygems/command_manager.rb (Gem#load_and_instantiate):
nobu 2009-12-30 17:49:48 +0900 (Wed, 30 Dec 2009) New Revision: 26200 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26200 Log: * lib/rubygems/command_manager.rb (Gem#load_and_instantiate): rescue only NameError from const_get. Modified files: trunk/ChangeLog trunk/lib/rubygems/command_manager.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 26199) +++ ChangeLog (revision 26200) @@ -1,5 +1,8 @@ -Wed Dec 30 17:45:53 2009 Nobuyoshi Nakada <nobu@r...> +Wed Dec 30 17:49:47 2009 Nobuyoshi Nakada <nobu@r...> + * lib/rubygems/command_manager.rb (Gem#load_and_instantiate): + rescue only NameError from const_get. + * lib/rubygems/source_index.rb (Gem#load_specification): don't use RUBY_VERSION to branch. Index: lib/rubygems/command_manager.rb =================================================================== --- lib/rubygems/command_manager.rb (revision 26199) +++ lib/rubygems/command_manager.rb (revision 26200) @@ -154,11 +154,12 @@ def load_and_instantiate(command_name) command_name = command_name.to_s + const_name = command_name.capitalize.gsub(/_(.)/) { $1.upcase } << "Command" + commands = Gem::Commands retried = false begin - const_name = command_name.capitalize.gsub(/_(.)/) { $1.upcase } - Gem::Commands.const_get("#{const_name}Command").new + commands.const_get(const_name) rescue NameError if retried then raise @@ -167,7 +168,7 @@ require "rubygems/commands/#{command_name}_command" retry end - end + end.new end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/