Module: ActiveModelAttributes::ClassMethods
- Defined in:
- lib/active_model_attributes.rb
Instance Method Summary collapse
Instance Method Details
#attribute(name, type = ActiveModelAttributes::Type.default_value, **options) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/active_model_attributes.rb', line 33 def attribute(name, type = ActiveModelAttributes::Type.default_value, **) name = name.to_s if type.is_a?(Symbol) type = ActiveModelAttributes::Type.lookup(type) end self._active_model_attributes_attribute_types = _active_model_attributes_attribute_types.merge(name => type) define_default_attribute(name, .fetch(:default, NO_DEFAULT_PROVIDED)) define_attribute_methods(name) end |