Module: Aws::Deprecations Private
- Included in:
- Resources::Collection
- Defined in:
- lib/aws-sdk-core/deprecations.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
A utility module that provides a class method that wraps a method such that it generates a deprecation warning when called. Given the following class:
class Example
  def do_something
  end
end
If you want to deprecate the ‘#do_something` method, you can extend this module and then call `deprecated` on the method (after it has been defined).
class Example
  extend Aws::Deprecations
  def do_something
  end
  def do_something_else
  end
  deprecated :do_something
end
The ‘#do_something` method will continue to function, but will generate a deprecation warning when called.
Instance Method Summary collapse
Instance Method Details
#deprecated(method, options = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | # File 'lib/aws-sdk-core/deprecations.rb', line 50 def deprecated(method, = {}) deprecation_msg = [:message] || begin "#################### DEPRECATION WARNING ####################\n"\ "Called deprecated method `#{method}` of #{self}."\ "#{" Use `#{[:use]}` instead.\n" if [:use]}"\ "#{"Method `#{method}` will be removed in #{[:version]}."\ if [:version]}"\ "\n#############################################################" end alias_method(:"deprecated_#{method}", method) warned = false # we only want to issue this warning once define_method(method) do |*args, &block| unless warned warned = true warn(deprecation_msg + "\n" + caller.join("\n")) end send("deprecated_#{method}", *args, &block) end end |