class PryGem::GemList

@since 1.0.0

Public Instance Methods

process(pattern = nil) click to toggle source
# File lib/pry-gem/gem_list.rb, line 15
def process(pattern = nil)
  gems(pattern).each do |gem, specs|
    sort_specs!(specs)

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

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

Private Instance Methods

gems(pattern) click to toggle source
# File lib/pry-gem/gem_list.rb, line 29
def gems(pattern)
  Rubygem.list(Regexp.compile(pattern || '')).group_by(&:name)
end
sort_specs!(specs) click to toggle source
# File lib/pry-gem/gem_list.rb, line 33
def sort_specs!(specs)
  specs.sort! do |a, b|
    Gem::Version.new(b.version) <=> Gem::Version.new(a.version)
  end
end