class LIVR::Rules::Meta::ListOf
Public Class Methods
new(*rules)
click to toggle source
# File lib/livr/rules/meta.rb, line 53 def initialize(*rules) livr = { field: rules.flatten } @validator = Validator.new(livr).prepare end
Public Instance Methods
call(values, user_data, field_results)
click to toggle source
# File lib/livr/rules/meta.rb, line 58 def call(values, user_data, field_results) return if is_no_value(values) return 'FORMAT_ERROR' unless values.is_a?(Array) results = [] errors = [] has_errors = false values.each do |value| result = @validator.validate(field: value) if result results << result[:field] errors << nil else has_errors = true errors << @validator.get_errors[:field] results << nil end end if has_errors return errors else field_results << results return end end