From 75894547f50888b86f15c118b6e047d8b9a94a74 Mon Sep 17 00:00:00 2001 From: drbrain Date: Sat, 8 Dec 2012 06:01:49 +0000 Subject: * lib/rubygems/commands/cleanup_command.rb: Skip default gems when cleaning up. * test/rubygems/test_gem_commands_cleanup_command.rb: Test for above. * lib/rubygems/commands/query_command.rb: Fixed listing remote gems. * lib/rubygems/dependency_installer.rb: Ignore non-files when looking for local gems. * test/rubygems/test_gem_dependency_installer.rb: Test for above. * lib/rubygems/uninstaller.rb: The user must confirm uninstalling gems that have dependencies. * test/rubygems/test_gem_uninstaller.rb: Test for above. * lib/rubygems.rb (module Gem): Updated version. * test/rubygems/*.pem: Updated to run in FIPS mode. * test/rubygems/test_gem_security.rb: ditto. * test/rubygems/test_gem_security_signer.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/commands/cleanup_command.rb | 29 +++++++++++++++++++---------- lib/rubygems/commands/query_command.rb | 4 ++-- 2 files changed, 21 insertions(+), 12 deletions(-) (limited to 'lib/rubygems/commands') diff --git a/lib/rubygems/commands/cleanup_command.rb b/lib/rubygems/commands/cleanup_command.rb index f18a94d7a2..a7071ce679 100644 --- a/lib/rubygems/commands/cleanup_command.rb +++ b/lib/rubygems/commands/cleanup_command.rb @@ -47,16 +47,17 @@ are not removed. end end - gems_to_cleanup = unless options[:args].empty? then - options[:args].map do |gem_name| - Gem::Specification.find_all_by_name gem_name - end.flatten - else - Gem::Specification.to_a - end - - gems_to_cleanup = gems_to_cleanup.select { |spec| - primary_gems[spec.name].version != spec.version + candidate_gems = unless options[:args].empty? then + options[:args].map do |gem_name| + Gem::Specification.find_all_by_name gem_name + end.flatten + else + Gem::Specification.to_a + end + + gems_to_cleanup = candidate_gems.select { |spec| + !spec.default_gem? and + primary_gems[spec.name].version != spec.version } full = Gem::DependencyList.from_specs @@ -102,6 +103,14 @@ are not removed. end say "Clean Up Complete" + + if Gem.configuration.really_verbose then + skipped = candidate_gems. + select { |spec| spec.default_gem? }. + map { |spec| spec.full_name} + + say "Skipped default gems: #{skipped.join ', '}" + end end end diff --git a/lib/rubygems/commands/query_command.rb b/lib/rubygems/commands/query_command.rb index b6c910d449..020bc297b4 100644 --- a/lib/rubygems/commands/query_command.rb +++ b/lib/rubygems/commands/query_command.rb @@ -132,8 +132,8 @@ class Gem::Commands::QueryCommand < Gem::Command if options[:name].source.empty? spec_tuples = fetcher.detect(type) { true } else - spec_tuples = fetcher.detect(type) do |gem_name, ver, plat| - options[:name] === gem_name + spec_tuples = fetcher.detect(type) do |name_tuple| + options[:name] === name_tuple.name end end -- cgit v1.2.3