Module: Archangel::Models::EntryValidatableConcern
- Extended by:
- ActiveSupport::Concern
- Included in:
- Entry
- Defined in:
- app/models/concerns/archangel/models/entry_validatable_concern.rb
Overview
Entry validation concern
Instance Method Summary collapse
- #add_accessors_for_entry_fields ⇒ Object
- #add_classification_validator_for_entry_fields ⇒ Object
- #add_presence_validator_for_entry_fields ⇒ Object
Instance Method Details
#add_accessors_for_entry_fields ⇒ Object
46 47 48 49 50 51 52 |
# File 'app/models/concerns/archangel/models/entry_validatable_concern.rb', line 46 def add_accessors_for_entry_fields (resource_value_fields || []).each do |field| singleton_class.class_eval do store_accessor :value, field.slug.to_sym end end end |
#add_classification_validator_for_entry_fields ⇒ Object
62 63 64 65 66 67 68 69 70 71 |
# File 'app/models/concerns/archangel/models/entry_validatable_concern.rb', line 62 def add_classification_validator_for_entry_fields (resource_value_fields || []).each do |field| singleton_class.class_eval do if %w[boolean email integer url].include?(field.classification) send("add_#{field.classification}_validator".to_sym, field.slug.to_sym, !field.required?) end end end end |
#add_presence_validator_for_entry_fields ⇒ Object
54 55 56 57 58 59 60 |
# File 'app/models/concerns/archangel/models/entry_validatable_concern.rb', line 54 def add_presence_validator_for_entry_fields (resource_value_fields || []).each do |field| singleton_class.class_eval do validates field.slug.to_sym, presence: true if field.required? end end end |