1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rubygems/commands/update_command.rb: Create the installer after

options are processed.  [ruby-trunk - Bug #7779]
* test/rubygems/test_gem_commands_update_command.rb:  Test for the
  above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2013-02-20 00:34:58 +00:00
parent cd8ef79d22
commit 75eb6cc98e
3 changed files with 30 additions and 1 deletions

View file

@ -1,3 +1,10 @@
Wed Feb 20 09:34:43 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/update_command.rb: Create the installer after
options are processed. [ruby-trunk - Bug #7779]
* test/rubygems/test_gem_commands_update_command.rb: Test for the
above.
Wed Feb 20 07:51:19 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb: Use gsub instead of gsub! to avoid

View file

@ -14,6 +14,8 @@ class Gem::Commands::UpdateCommand < Gem::Command
include Gem::LocalRemoteOptions
include Gem::VersionOption
attr_reader :installer # :nodoc:
def initialize
super 'update', 'Update installed gems to the latest version',
:document => %w[rdoc ri],
@ -39,7 +41,7 @@ class Gem::Commands::UpdateCommand < Gem::Command
add_prerelease_option "as update targets"
@updated = []
@installer = Gem::DependencyInstaller.new options
@installer = nil
end
def arguments # :nodoc:
@ -85,6 +87,9 @@ class Gem::Commands::UpdateCommand < Gem::Command
def update_gem name, version = Gem::Requirement.default
return if @updated.any? { |spec| spec.name == name }
@installer ||= Gem::DependencyInstaller.new options
success = false
say "Updating #{name}"

View file

@ -355,6 +355,23 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
assert_empty out
end
def test_execute_user_install
util_clear_gems
Gem::Installer.new(@a1_path).install
@cmd.handle_options %w[--user-install]
use_ui @ui do
@cmd.execute
end
installer = @cmd.installer
user_install = installer.instance_variable_get :@user_install
assert user_install, 'user_install must be set on the installer'
end
def test_handle_options_system
@cmd.handle_options %w[--system]