summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-03-07 11:06:40 -0600
committerSamuel Giddins <segiddins@segiddins.me>2017-03-14 15:25:18 -0500
commita0c3bd2bb746e9691f90ed58779fb6de8d43922f (patch)
treeeece81a750aed967d2bb4c17af6a4cf24d98ab0b
parentea9e14a7c78238721393aa8c5ca0715722f123e4 (diff)
downloadbundler-a0c3bd2bb746e9691f90ed58779fb6de8d43922f.tar.gz
[CLI] Only reset paths if we’ve set a custom gemfile
-rw-r--r--lib/bundler.rb10
-rw-r--r--lib/bundler/cli.rb5
2 files changed, 12 insertions, 3 deletions
diff --git a/lib/bundler.rb b/lib/bundler.rb
index 914bdb3762..63a9f5784c 100644
--- a/lib/bundler.rb
+++ b/lib/bundler.rb
@@ -442,6 +442,12 @@ EOF
end
def reset!
+ reset_paths!
+ Plugin.reset!
+ reset_rubygems!
+ end
+
+ def reset_paths!
@root = nil
@settings = nil
@definition = nil
@@ -451,9 +457,9 @@ EOF
@bundle_path = nil
@bin_path = nil
@user_home = nil
+ end
- Plugin.reset!
-
+ def reset_rubygems!
return unless defined?(@rubygems) && @rubygems
rubygems.undo_replacements
rubygems.reset
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb
index 6d657c05cb..78ce355ff5 100644
--- a/lib/bundler/cli.rb
+++ b/lib/bundler/cli.rb
@@ -25,7 +25,10 @@ module Bundler
super
custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile]
- ENV["BUNDLE_GEMFILE"] = File.expand_path(custom_gemfile) if custom_gemfile && !custom_gemfile.empty?
+ if custom_gemfile && !custom_gemfile.empty?
+ ENV["BUNDLE_GEMFILE"] = File.expand_path(custom_gemfile)
+ Bundler.reset_paths!
+ end
Bundler.settings[:retry] = options[:retry] if options[:retry]