summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundler/postit_trampoline.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/bundler/postit_trampoline.rb b/lib/bundler/postit_trampoline.rb
index 7406612e5b..50bfee66a5 100644
--- a/lib/bundler/postit_trampoline.rb
+++ b/lib/bundler/postit_trampoline.rb
@@ -29,9 +29,12 @@ The error was: #{e}
EOS
end
- Gem.loaded_specs.delete("bundler") unless defined?(Bundler)
+ if deleted_spec = Gem.loaded_specs.delete("bundler")
+ deleted_spec.full_require_paths.each {|path| $:.delete(path) }
+ else
+ $:.delete(File.expand_path("../..", __FILE__))
+ end
gem "bundler", version
- $:.delete(File.expand_path("../..", __FILE__))
else
begin
gem "bundler", version