Class: ActiveModel::Validations::InclusionValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/apple_core/active_model/validations/inclusion_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/apple_core/active_model/validations/inclusion_validator.rb', line 6

def validate_each(record, attribute, value)
  delimiter  = options[:in]
  exclusions = delimiter.respond_to?(:call) ? delimiter.call(record) : delimiter

  valid = if value.respond_to? :all?
            value.all? { |v| exclusions.include? v }
          else
            exclusions.public_send(inclusion_method(exclusions), value)
          end

  return if valid

  record.errors.add(attribute,
                    :inclusion,
                    options.except(:in).merge!(value: value))
end