aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler/inline.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/inline.rb')
-rw-r--r--lib/bundler/inline.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/bundler/inline.rb b/lib/bundler/inline.rb
index dbf737c7ee..152d7d3f60 100644
--- a/lib/bundler/inline.rb
+++ b/lib/bundler/inline.rb
@@ -38,6 +38,8 @@ def gemfile(install = false, options = {}, &gemfile)
raise ArgumentError, "Unknown options: #{opts.keys.join(", ")}" unless opts.empty?
old_root = Bundler.method(:root)
+ bundler_module = class << Bundler; self; end
+ bundler_module.send(:remove_method, :root)
def Bundler.root
Bundler::SharedHelpers.pwd.expand_path
end
@@ -56,7 +58,7 @@ def gemfile(install = false, options = {}, &gemfile)
definition.missing_specs?
end
- Bundler.ui = ui if install
+ Bundler.ui = install ? ui : Bundler::UI::Silent.new
if install || missing_specs.call
Bundler.settings.temporary(:inline => true, :disable_platform_warnings => true) do
installer = Bundler::Installer.install(Bundler.root, definition, :system => true)
@@ -70,6 +72,8 @@ def gemfile(install = false, options = {}, &gemfile)
runtime.setup.require
end
ensure
- bundler_module = class << Bundler; self; end
- bundler_module.send(:define_method, :root, old_root) if old_root
+ if bundler_module
+ bundler_module.send(:remove_method, :root)
+ bundler_module.send(:define_method, :root, old_root)
+ end
end