Method: JSONSchemer::Draft202012::Vocab::Validation::MaxContains#validate

Defined in:
lib/json_schemer/draft202012/vocab/validation.rb

#validate(instance, instance_location, keyword_location, context) ⇒ Object



204
205
206
207
208
# File 'lib/json_schemer/draft202012/vocab/validation.rb', line 204

def validate(instance, instance_location, keyword_location, context)
  return result(instance, instance_location, keyword_location, true) unless instance.is_a?(Array) && context.adjacent_results.key?(Applicator::Contains)
  evaluated_items = context.adjacent_results.fetch(Applicator::Contains).annotation
  result(instance, instance_location, keyword_location, evaluated_items.size <= value)
end