class JsonValidation::Validators::Items
Public Instance Methods
inner_validator()
click to toggle source
# File lib/json_validation/validators/items.rb, line 19 def inner_validator raise unless fragment["items"].is_a?(Hash) @inner_validator ||= build_validator(fragment["items"]) end
inner_validators()
click to toggle source
# File lib/json_validation/validators/items.rb, line 24 def inner_validators raise unless fragment["items"].is_a?(Array) @inner_validators ||= fragment["items"].map {|f| build_validator(f) } end
validate(record)
click to toggle source
# File lib/json_validation/validators/items.rb, line 6 def validate(record) case fragment['items'] when Hash record.all? {|item| inner_validator.validate(item)} when Array inner_validators.zip(record).all? {|validator, item| validator.validate(item) } else raise "Unexpected type for fragment['items']" end end