class ApipieDSL::Validator::NestedValidator

Public Class Methods

build(param_description, argument, options, block) click to toggle source
# File lib/apipie_dsl/validator.rb, line 471
def self.build(param_description, argument, options, block)
  return if argument != Array || !block.is_a?(Proc) || block.arity.positive?

  new(param_description, block, options[:param_group])
end
new(param_description, argument, param_group) click to toggle source
# File lib/apipie_dsl/validator.rb, line 465
def initialize(param_description, argument, param_group)
  super(param_description)
  @validator = HashValidator.new(param_description, argument, param_group)
  @type = argument
end

Public Instance Methods

description() click to toggle source
# File lib/apipie_dsl/validator.rb, line 491
def description
  'Must be an Array of nested elements'
end
expected_type() click to toggle source
# File lib/apipie_dsl/validator.rb, line 487
def expected_type
  'array'
end
sub_params() click to toggle source
# File lib/apipie_dsl/validator.rb, line 495
def sub_params
  @validator.sub_params
end
validate(value) click to toggle source
# File lib/apipie_dsl/validator.rb, line 477
def validate(value)
  value ||= []
  return false if value.class != Array

  value.each do |child|
    return false unless @validator.validate(child)
  end
  true
end