class LIVR::Rules::Meta::ListOfObjects

Public Class Methods

new(livr) click to toggle source
# File lib/livr/rules/meta.rb, line 89
def initialize(livr)
  @validator = Validator.new(livr).prepare
end

Public Instance Methods

call(objects, user_data, field_results) click to toggle source
# File lib/livr/rules/meta.rb, line 93
def call(objects, user_data, field_results)
  return if is_no_value(objects)
  return 'FORMAT_ERROR' unless objects.is_a?(Array)

  results = []
  errors = []
  has_errors = false

  objects.each do |object|
    result = @validator.validate(object)

    if result
      results << result
      errors << nil
    else
      has_errors = true
      errors << @validator.get_errors
      results << nil
    end
  end

  if has_errors
    return errors
  else
    field_results << results
    return
  end

end