summaryrefslogtreecommitdiff
path: root/lib/rubygems/commands/query_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/commands/query_command.rb')
-rw-r--r--lib/rubygems/commands/query_command.rb27
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