diff options
Diffstat (limited to 'lib/rubygems/deprecate.rb')
-rw-r--r-- | lib/rubygems/deprecate.rb | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/lib/rubygems/deprecate.rb b/lib/rubygems/deprecate.rb index 5fe0afb6b0..58a6c5b7dc 100644 --- a/lib/rubygems/deprecate.rb +++ b/lib/rubygems/deprecate.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + ## # Provides 3 methods for declaring when something is going away. # @@ -69,7 +70,6 @@ # end module Gem::Deprecate - def self.skip # :nodoc: @skip ||= false end @@ -82,7 +82,8 @@ module Gem::Deprecate # Temporarily turn off warnings. Intended for tests only. def skip_during - Gem::Deprecate.skip, original = true, Gem::Deprecate.skip + original = Gem::Deprecate.skip + Gem::Deprecate.skip = true yield ensure Gem::Deprecate.skip = original @@ -103,12 +104,13 @@ module Gem::Deprecate old = "_deprecated_#{name}" alias_method old, name define_method name do |*args, &block| - klass = self.kind_of? Module + klass = is_a? Module target = klass ? "#{self}." : "#{self.class}#" - msg = [ "NOTE: #{target}#{name} is deprecated", - repl == :none ? " with no replacement" : "; use #{repl} instead", - ". It will be removed on or after %4d-%02d." % [year, month], - "\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}", + msg = [ + "NOTE: #{target}#{name} is deprecated", + repl == :none ? " with no replacement" : "; use #{repl} instead", + format(". It will be removed on or after %4d-%02d.", year, month), + "\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}", ] warn "#{msg.join}." unless Gem::Deprecate.skip send old, *args, &block @@ -128,12 +130,13 @@ module Gem::Deprecate old = "_deprecated_#{name}" alias_method old, name define_method name do |*args, &block| - klass = self.kind_of? Module + klass = is_a? Module target = klass ? "#{self}." : "#{self.class}#" - msg = [ "NOTE: #{target}#{name} is deprecated", - replacement == :none ? " with no replacement" : "; use #{replacement} instead", - ". It will be removed in Rubygems #{Gem::Deprecate.next_rubygems_major_version}", - "\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}", + msg = [ + "NOTE: #{target}#{name} is deprecated", + replacement == :none ? " with no replacement" : "; use #{replacement} instead", + ". It will be removed in Rubygems #{Gem::Deprecate.next_rubygems_major_version}", + "\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}", ] warn "#{msg.join}." unless Gem::Deprecate.skip send old, *args, &block @@ -143,22 +146,22 @@ module Gem::Deprecate end # Deprecation method to deprecate Rubygems commands - def rubygems_deprecate_command + def rubygems_deprecate_command(version = Gem::Deprecate.next_rubygems_major_version) class_eval do define_method "deprecated?" do true end define_method "deprecation_warning" do - msg = [ "#{self.command} command is deprecated", - ". It will be removed in Rubygems #{Gem::Deprecate.next_rubygems_major_version}.\n", + msg = [ + "#{command} command is deprecated", + ". It will be removed in Rubygems #{version}.\n", ] - alert_warning "#{msg.join}" unless Gem::Deprecate.skip + alert_warning msg.join.to_s unless Gem::Deprecate.skip end end end module_function :rubygems_deprecate, :rubygems_deprecate_command, :skip_during - end |