summaryrefslogtreecommitdiff
path: root/lib/rubygems/commands/update_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/commands/update_command.rb')
-rw-r--r--lib/rubygems/commands/update_command.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/rubygems/commands/update_command.rb b/lib/rubygems/commands/update_command.rb
index 93ee60e1ab..1c86ba6753 100644
--- a/lib/rubygems/commands/update_command.rb
+++ b/lib/rubygems/commands/update_command.rb
@@ -85,18 +85,27 @@ command to remove old versions.
end
def execute
-
if options[:system] then
update_rubygems
return
end
- say "Updating installed gems"
-
hig = highest_installed_gems
gems_to_update = which_to_update hig, options[:args].uniq
+ if options[:explain]
+ say "Gems to update:"
+
+ gems_to_update.each do |(name, version)|
+ say " #{name}-#{version}"
+ end
+
+ return
+ end
+
+ say "Updating installed gems"
+
updated = update_gems gems_to_update
updated_names = updated.map { |spec| spec.name }