Class: ArrayValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/array_validator.rb,
lib/array_validator/order_validator.rb,
lib/array_validator/format_validator.rb,
lib/array_validator/subset_validator.rb,
lib/array_validator/duplicates_validator.rb

Defined Under Namespace

Modules: DuplicatesValidator, FormatValidator, OrderValidator, SubsetValidator

Constant Summary collapse

I18N_SCOPE =
'activerecord.errors.messages.array'.freeze
VALIDATORS =
[SubsetValidator, FormatValidator, DuplicatesValidator, OrderValidator].freeze

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, values) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/array_validator.rb', line 14

def validate_each(record, attribute, values)
  unless values.is_a? Array
    record.errors[attribute] << (options[:message] || 'is not an array')
    return
  end

  VALIDATORS.each do |validator|
    validator.call(record, attribute, values, options)
  end
end