Class: EachValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/tram/validators/each_validator.rb

Overview

Applies validator to every element of the collection

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, values) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/tram/validators/each_validator.rb', line 3

def validate_each(record, attribute, values)
  return unless values.is_a? Enumerable
  values.each_with_index do |value, index|
    item = record.dup.tap { |rec| rec.errors.clear }

    call_validations(item, attribute, value)

    copy_errors(item, record, attribute, index)
  end
end