Module: Trax::Model::Freezable::ClassMethods
- Defined in:
- lib/trax/model/freezable.rb
Instance Method Summary collapse
Instance Method Details
#define_frozen_validators_for_enum(options) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/trax/model/freezable.rb', line 17 def define_frozen_validators_for_enum() self.class_eval do .each_pair do |enum_method, frozen_states| validates_with ::FrozenValidator, :if => lambda { |record| frozen_states.any?{ |state| state == :"#{record.send(enum_method)}" } && !record.changed.include?("#{enum_method}") } end end end |
#freezable_by_enum(options = {}) ⇒ Object
12 13 14 15 |
# File 'lib/trax/model/freezable.rb', line 12 def freezable_by_enum( = {}) freezable_fields.merge!() define_frozen_validators_for_enum() end |