Skip to content

Instantly share code, notes, and snippets.

@epitron
Last active September 25, 2015 14:28
Show Gist options
  • Save epitron/936023 to your computer and use it in GitHub Desktop.
Save epitron/936023 to your computer and use it in GitHub Desktop.
A "gems" command for Pry
command "gems", "List/search installed gems. (Optional parameter: a regexp to limit the search)" do |arg|
gems = Gem.source_index.gems.values.group_by(&:name)
if arg
query = Regexp.new(arg, Regexp::IGNORECASE)
gems = gems.select { |gemname, specs| gemname =~ query }
end
gems.each do |gemname, specs|
versions = specs.map(&:version).sort.reverse.map(&:to_s)
versions = [bright_green(versions.first)] +
versions[1..-1].map{|v| green v}
gemname = gemname.highlight(query) if query
output.puts "#{gemname} (#{versions.join ', '})"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment