diff options
Diffstat (limited to 'lib/rubygems/commands/query_command.rb')
-rw-r--r-- | lib/rubygems/commands/query_command.rb | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/lib/rubygems/commands/query_command.rb b/lib/rubygems/commands/query_command.rb index 813154fa23..f25d120b88 100644 --- a/lib/rubygems/commands/query_command.rb +++ b/lib/rubygems/commands/query_command.rb @@ -255,21 +255,22 @@ is too hard to use. name_tuples.map { |n| n.version }.uniq else platforms.sort.reverse.map do |version, pls| - out = version.to_s - - if options[:domain] == :local - default = specs.any? do |s| - !s.is_a?(Gem::Source) && s.version == version && s.default_gem? + if pls == [Gem::Platform::RUBY] then + if options[:domain] == :remote || specs.all? { |spec| spec.is_a? Gem::Source } + version + else + spec = specs.select { |s| s.version == version } + if spec.first.default_gem? + "default: #{version}" + else + version + end end - out = "default: #{out}" if default - end - - if pls != [Gem::Platform::RUBY] then - platform_list = [pls.delete(Gem::Platform::RUBY), *pls.sort].compact - out = platform_list.unshift(out).join(' ') + else + ruby = pls.delete Gem::Platform::RUBY + platform_list = [ruby, *pls.sort].compact + "#{version} #{platform_list.join ' '}" end - - out end end |