class DTOSchema::Validators::ListValidator
Public Class Methods
new(schema, item_validator, checks = nil)
click to toggle source
# File lib/dto_schema/validators.rb, line 81 def initialize(schema, item_validator, checks = nil) @schema, @item_validator = schema, item_validator @checks = checks || [] end
Public Instance Methods
resolve()
click to toggle source
# File lib/dto_schema/validators.rb, line 109 def resolve @item_validator.resolve self end
valid?(data)
click to toggle source
# File lib/dto_schema/validators.rb, line 86 def valid? (data) data.is_a?(Array) && data.all? { |item| @item_validator.valid? item } end
valid_structure?(data)
click to toggle source
# File lib/dto_schema/validators.rb, line 105 def valid_structure? (data) data.is_a?(Array) && data.all? { |item| @item_validator.valid_structure? item } end
validate(data)
click to toggle source
# File lib/dto_schema/validators.rb, line 90 def validate (data) return ["Must be an array"] unless data.is_a? Array result = {} data.each_with_index do |value, i| errors = @item_validator.validate value result[i] = errors unless errors.empty? end return result unless result.empty? @checks.each do |check| errors = check.validate data return errors unless errors.empty? end {} end