Class: ConformitySetValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Includes:
ActiveConformity::Reifiers
Defined in:
lib/active_conformity/conformity_set_validator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ActiveConformity::Reifiers

#reify_regex, #reify_rule

Instance Attribute Details

#conformableObject

Returns the value of attribute conformable.



6
7
8
# File 'lib/active_conformity/conformity_set_validator.rb', line 6

def conformable
  @conformable
end

Instance Method Details

#validate_each(conformable, conformity_set, conformity_set_value) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/active_conformity/conformity_set_validator.rb', line 8

def validate_each(conformable, conformity_set, conformity_set_value)
  @conformable = conformable
  return add_errors("Conformity set required!") if conformity_set_value.nil?
  begin
    if conformity_set_value.is_a? String
      conformity_set_value = JSON.parse(conformity_set_value)
    end
  rescue
    return add_errors "#{conformity_set_value} cannot be parsed to a hash!"
  end
  conformity_set_value.each do |attribute, value|
    return validate_custom_method(value) if attribute.to_sym == :method
    validate_attr_based_validations(attribute, value)
  end
end