Class: ArrayInclusionValidator

Inherits:
ArrayValidatorBase show all
Defined in:
lib/active_model_validators_ex/array_inclusion_validator.rb

Instance Method Summary collapse

Methods inherited from ArrayValidatorBase

#validate_each

Constructor Details

#initialize(options) ⇒ ArrayInclusionValidator

Returns a new instance of ArrayInclusionValidator.



4
5
6
7
8
9
10
11
# File 'lib/active_model_validators_ex/array_inclusion_validator.rb', line 4

def initialize(options)
  unless options[:in].is_a?(Array) or options[:in].is_a?(Range)
    raise ArgumentError,
          'value for in must be either a Range or Array'
  end

  super(options)
end

Instance Method Details

#custom_validations(record, attribute, value) ⇒ Object



13
14
15
16
17
# File 'lib/active_model_validators_ex/array_inclusion_validator.rb', line 13

def custom_validations(record, attribute, value)
  unless value.all? { |val| options[:in].include?(val) }
    record.errors.add(attribute, :array_inclusion, options)
  end
end