Module: DeprecateSoft::ClassMethods

Defined in:
lib/deprecate_soft.rb

Instance Method Summary collapse

Instance Method Details

#deprecate_class_soft(method_name, message = nil) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/deprecate_soft.rb', line 64

def deprecate_class_soft(method_name, message = nil)
  hidden = DeprecateSoft.prefixed_name(method_name)
  target = singleton_class

  if target.method_defined?(method_name) || target.private_method_defined?(method_name)
    return if target.method_defined?(hidden) || target.private_method_defined?(hidden)

    DeprecateSoft::MethodWrapper.wrap_method(self, method_name, message, is_class_method: true)
  else
    @_pending_soft_wraps ||= {}
    @_pending_soft_wraps[method_name] = message
  end
end

#deprecate_soft(method_name, message = nil) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/deprecate_soft.rb', line 51

def deprecate_soft(method_name, message = nil)
  hidden = DeprecateSoft.prefixed_name(method_name)

  if method_defined?(method_name) || private_method_defined?(method_name)
    return if method_defined?(hidden) || private_method_defined?(hidden)

    DeprecateSoft::MethodWrapper.wrap_method(self, method_name, message, is_class_method: false)
  else
    @__pending_soft_wraps ||= {}
    @__pending_soft_wraps[method_name] = message
  end
end