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

Instance Method Details

#add_accessors_for_entry_fieldsObject



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_fieldsObject



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_fieldsObject



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