class Pry::Command::GemList

Public Instance Methods

process(pattern = nil) click to toggle source
# File lib/pry/commands/gem_list.rb, line 14
def process(pattern = nil)
  pattern = Regexp.compile(pattern || '')
  gems    = Rubygem.list(pattern).group_by(&:name)

  gems.each do |gem, specs|
    specs.sort! do |a,b|
      Gem::Version.new(b.version) <=> Gem::Version.new(a.version)
    end

    versions = specs.each_with_index.map do |spec, index|
      index == 0 ? text.bright_green(spec.version.to_s) : text.green(spec.version.to_s)
    end

    output.puts "#{text.default gem} (#{versions.join ', '})"
  end
end