class Gem::Commands::QueryCommand

def entry_versions entry, name_tuples, platforms, specs

def entry_versions entry, name_tuples, platforms, specs
  return unless options[:versions]
  list =
    if platforms.empty? or options[:details] then
      name_tuples.map { |n| n.version }.uniq
    else
      platforms.sort.reverse.map do |version, pls|
        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
        else
          ruby = pls.delete Gem::Platform::RUBY
          platform_list = [ruby, *pls.sort].compact
          "#{version} #{platform_list.join ' '}"
        end
      end
    end
  entry << " (#{list.join ', '})"
end