method
redefine
v8.1.1 -
Show latest stable
- Class:
ActiveSupport::ClassAttribute
redefine(owner, name, namespaced_name, value)public
No documentation available.
# File activesupport/lib/active_support/class_attribute.rb, line 6
def redefine(owner, name, namespaced_name, value)
if owner.singleton_class?
if owner.attached_object.is_a?(Module)
redefine_method(owner, namespaced_name, private: true) { value }
else
redefine_method(owner, name) { value }
end
end
redefine_method(owner.singleton_class, namespaced_name, private: true) { value }
redefine_method(owner.singleton_class, "#{namespaced_name}=", private: true) do |new_value|
if owner.equal?(self)
value = new_value
else
::ActiveSupport::ClassAttribute.redefine(self, name, namespaced_name, new_value)
end
end
end