class StValidation::Validators::ArrayValidator

Public Class Methods

new(element_blueprint, factory) click to toggle source
# File lib/st_validation/validators/array_validator.rb, line 6
def initialize(element_blueprint, factory)
  @validator = factory.build(element_blueprint)
end

Public Instance Methods

call(value) click to toggle source
# File lib/st_validation/validators/array_validator.rb, line 10
def call(value)
  return false unless value.is_a?(Array)

  value.all?(&@validator)
end

Private Instance Methods

generate_explanation(value) click to toggle source
# File lib/st_validation/validators/array_validator.rb, line 18
def generate_explanation(value)
  return 'not an array' unless value.is_a?(Array)

  value.map { |e| @validator.explain(e) }
end