[bundler/bundler] Fix open default gem error
https://github.com/bundler/bundler/commit/792d724752
This commit is contained in:
parent
98841b2b19
commit
d80f5399ad
@ -15,11 +15,15 @@ module Bundler
|
|||||||
return Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR") unless editor
|
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)
|
return unless spec = Bundler::CLI::Common.select_spec(name, :regex_match)
|
||||||
path = spec.full_gem_path
|
path = spec.full_gem_path
|
||||||
Dir.chdir(path) do
|
if spec.default_gem?
|
||||||
command = Shellwords.split(editor) + [path]
|
Bundler.ui.info "Unable to open #{name} because it's a default gem, so the directory it would normally be installed to does not exist."
|
||||||
Bundler.with_original_env do
|
else
|
||||||
system(*command)
|
Dir.chdir(path) do
|
||||||
end || Bundler.ui.info("Could not run '#{command.join(" ")}'")
|
command = Shellwords.split(editor) + [path]
|
||||||
|
Bundler.with_original_env do
|
||||||
|
system(*command)
|
||||||
|
end || Bundler.ui.info("Could not run '#{command.join(" ")}'")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -91,4 +91,17 @@ RSpec.describe "bundle open" do
|
|||||||
expect(out).not_to include("BUNDLE_GEMFILE=")
|
expect(out).not_to include("BUNDLE_GEMFILE=")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "when opening a default gem" do
|
||||||
|
before do
|
||||||
|
install_gemfile <<-G
|
||||||
|
gem "json"
|
||||||
|
G
|
||||||
|
end
|
||||||
|
|
||||||
|
it "throws proper error when trying to open default gem" do
|
||||||
|
bundle "open json", :env => { "EDITOR" => "echo editor", "VISUAL" => "echo visual", "BUNDLER_EDITOR" => "echo bundler_editor" }
|
||||||
|
expect(out).to include("Unable to open json because it's a default gem, so the directory it would normally be installed to does not exist.")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user