Add gem-open to open the gem in an editor

This commit is contained in:
Conrad Irwin 2012-11-14 00:17:30 -08:00
parent 6de594fef3
commit cb0cf76489
1 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,26 @@
class Pry
Pry::Commands.create_command "gem-open" do |gem|
group 'Gems'
description "Opens the working directory of the gem in your editor"
command_options :argument_required => true
banner <<-BANNER
Usage: gem-open GEM_NAME
Change the current working directory to that in which the given gem is installed,
and then opens your text editor.
BANNER
def process(gem)
specs = Gem::Specification.respond_to?(:each) ? Gem::Specification.find_all_by_name(gem) : Gem.source_index.find_name(gem)
spec = specs.sort { |a,b| Gem::Version.new(b.version) <=> Gem::Version.new(a.version) }.first
if spec
Dir.chdir(spec.full_gem_path) do
invoke_editor(".", 0, false)
end
else
raise CommandError, "Gem `#{gem}` not found."
end
end
end
end