module Tins::Deprecate

Public Instance Methods

deprecate(method:, new_method: nil, message: nil) click to toggle source
Calls superclass method
# File lib/tins/deprecate.rb, line 3
def deprecate(method:, new_method: nil, message: nil)
  message ||= '[DEPRECATION] `%{method}` is deprecated. Please use `%{new_method}` instead.'
  message = message % { method: method, new_method: new_method }
  m = Module.new do
    define_method(method) do |*a, **kw, &b|
      warn message
      super(*a, **kw, &b)
    end
  end
  prepend m
end