class JsonValidation::Validators::AdditionalItems
Public Instance Methods
find_additional_items(fragment, record)
click to toggle source
# File lib/json_validation/validators/additional_items.rb, line 29 def find_additional_items(fragment, record) record.drop(fragment['items'].size) end
inner_validator()
click to toggle source
# File lib/json_validation/validators/additional_items.rb, line 25 def inner_validator @inner_validator ||= build_validator(fragment["additionalItems"]) end
validate(record)
click to toggle source
# File lib/json_validation/validators/additional_items.rb, line 6 def validate(record) if !fragment.has_key?('items') || fragment['items'].is_a?(Hash) true else case fragment['additionalItems'] when true true when false find_additional_items(fragment, record).empty? when Hash find_additional_items(fragment, record).all? {|item| inner_validator.validate(item) } else raise "Unexpected type for fragment['additionalItems']" end end end