Module: Mongoid::Attributes::Readonly::ClassMethods
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Extended In:
| |
Defined in: | lib/mongoid/attributes/readonly.rb |
Instance Method Summary
-
#attr_readonly(*names)
Defines an attribute as readonly.
Instance Method Details
#attr_readonly(*names)
Note:
When a parent class contains readonly attributes and is then
Defines an attribute as readonly. This will ensure that the value for the attribute is only set when the document is new or we are creating. In other cases, the field write will be ignored with the exception of #remove_attribute and #update_attribute, where an error will get raised.
inherited by a child class, the child class will inherit the parent’s readonly attributes at the time of its creation. Updating the parent does not propagate down to child classes after wards.
# File 'lib/mongoid/attributes/readonly.rb', line 70
def attr_readonly(*names) self.readonly_attributes = self.readonly_attributes.dup names.each do |name| self.readonly_attributes << database_field_name(name) end end