diff options
Diffstat (limited to 'lib/bundler/shared_helpers.rb')
-rw-r--r-- | lib/bundler/shared_helpers.rb | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/bundler/shared_helpers.rb b/lib/bundler/shared_helpers.rb index b7e2af29c4..af1836009f 100644 --- a/lib/bundler/shared_helpers.rb +++ b/lib/bundler/shared_helpers.rb @@ -133,8 +133,9 @@ module Bundler return unless bundler_major_version >= major_version && prints_major_deprecations? @major_deprecation_ui ||= Bundler::UI::Shell.new("no-color" => true) - ui = Bundler.ui.is_a?(@major_deprecation_ui.class) ? Bundler.ui : @major_deprecation_ui - ui.warn("[DEPRECATED] #{message}") + with_major_deprecation_ui do |ui| + ui.warn("[DEPRECATED] #{message}") + end end def print_major_deprecations! @@ -211,6 +212,21 @@ module Bundler private + def with_major_deprecation_ui(&block) + ui = Bundler.ui + + if ui.is_a?(@major_deprecation_ui.class) + yield ui + else + begin + Bundler.ui = @major_deprecation_ui + yield Bundler.ui + ensure + Bundler.ui = ui + end + end + end + def validate_bundle_path path_separator = Bundler.rubygems.path_separator return unless Bundler.bundle_path.to_s.split(path_separator).size > 1 |