summaryrefslogtreecommitdiff
path: root/lib/bundler.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler.rb')
-rw-r--r--lib/bundler.rb23
1 files changed, 15 insertions, 8 deletions
diff --git a/lib/bundler.rb b/lib/bundler.rb
index b8eed25d44..6d64a2eb28 100644
--- a/lib/bundler.rb
+++ b/lib/bundler.rb
@@ -89,7 +89,7 @@ module Bundler
def setup(*groups)
# Return if all groups are already loaded
- return @setup if defined?(@setup)
+ return @setup if defined?(@setup) && @setup
definition.validate_ruby!
@@ -130,13 +130,11 @@ module Bundler
end
def locked_gems
- return @locked_gems if defined?(@locked_gems)
- if Bundler.default_lockfile.exist?
- lock = Bundler.read_file(Bundler.default_lockfile)
- @locked_gems = LockfileParser.new(lock)
- else
- @locked_gems = nil
- end
+ @locked_gems ||=
+ if Bundler.default_lockfile.exist?
+ lock = Bundler.read_file(Bundler.default_lockfile)
+ LockfileParser.new(lock)
+ end
end
def ruby_scope
@@ -386,6 +384,15 @@ module Bundler
@root = nil
@settings = nil
@definition = nil
+ @setup = nil
+ @load = nil
+ @locked_gems = nil
+ @bundle_path = nil
+ @bin_path = nil
+ return unless defined?(@rubygems) && @rubygems
+ rubygems.undo_replacements
+ rubygems.reset
+ @rubygems = nil
end
private