Class: Bundler::CLI::Open
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/bundler/cli/open.rb |
Class Method Summary
- .new(options, name) ⇒ Open constructor
Instance Attribute Summary
Instance Method Summary
Constructor Details
.new(options, name) ⇒ Open
Instance Attribute Details
#name (readonly)
[ GitHub ]# File 'lib/bundler/cli/open.rb', line 7
attr_reader :, :name
#options (readonly)
[ GitHub ]# File 'lib/bundler/cli/open.rb', line 7
attr_reader :, :name
Instance Method Details
#run
[ GitHub ]# File 'lib/bundler/cli/open.rb', line 13
def run editor = [ENV["BUNDLER_EDITOR"], ENV["VISUAL"], ENV["EDITOR"]].find {|e| !e.nil? && !e.empty? } return Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR") unless editor return unless spec = Bundler::CLI::Common.select_spec(name, :regex_match) path = spec.full_gem_path Dir.chdir(path) do command = Shellwords.split(editor) + [path] Bundler.with_original_env do system(*command) end || Bundler.ui.info("Could not run '#{command.join(" ")}'") end end