method
attribute
v8.0.0 -
Show latest stable
- Class:
ActiveModel::AttributeRegistration::ClassMethods
attribute(name, type = nil, default: (no_default = true), **options)public
No documentation available.
# File activemodel/lib/active_model/attribute_registration.rb, line 12
def attribute(name, type = nil, default: (no_default = true), **options)
name = resolve_attribute_name(name)
type = resolve_type_name(type, **options) if type.is_a?(Symbol)
type = hook_attribute_type(name, type) if type
pending_attribute_modifications << PendingType.new(name, type) if type || no_default
pending_attribute_modifications << PendingDefault.new(name, default) unless no_default
reset_default_attributes
end