Module: ActsAsImmutable::ClassMethods
- Defined in:
- lib/acts_as_immutable.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(base) ⇒ Object
50 51 52 53 54 |
# File 'lib/acts_as_immutable.rb', line 50 def self.extended(base) base.class_attribute :mutable_attributes base.class_attribute :mutable_condition base.class_attribute :mutable_options end |
Instance Method Details
#acts_as_immutable(*mutable_attributes, &condition) ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/acts_as_immutable.rb', line 56 def acts_as_immutable(*mutable_attributes, &condition) = {:new_records_mutable => true} .merge!(mutable_attributes.pop) if mutable_attributes.last.is_a?(Hash) self.mutable_attributes = mutable_attributes self.mutable_condition = condition self. = self.validate :validate_immutability self.before_destroy :validate_immutability_destroy end |
#mutable_attributes ⇒ Object
67 68 69 |
# File 'lib/acts_as_immutable.rb', line 67 def mutable_attributes self.mutable_attributes || [] end |