mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
Add gem-open to open the gem in an editor
This commit is contained in:
parent
6de594fef3
commit
cb0cf76489
1 changed files with 26 additions and 0 deletions
26
lib/pry/commands/gem_open.rb
Normal file
26
lib/pry/commands/gem_open.rb
Normal 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
|
Loading…
Reference in a new issue