module Uncruft::Deprecatable::ClassMethods

Public Instance Methods

deprecate_attribute(attribute, message:) click to toggle source
# File lib/uncruft/deprecatable.rb, line 6
def deprecate_attribute(attribute, message:)
  deprecate_method attribute, message: message
  deprecate_method :"#{attribute}=", message: message
end
deprecate_method(method, message:) click to toggle source
Calls superclass method
# File lib/uncruft/deprecatable.rb, line 11
def deprecate_method(method, message:)
  prepended_method = Module.new

  prepended_method.module_eval do
    define_method method do |*args, &block|
      ActiveSupport::Deprecation.warn(message)
      super(*args, &block)
    end
  end

  prepend prepended_method
end