Class: JSONSchemer::Draft202012::Vocab::Validation::Type
- Defined in:
- lib/json_schemer/draft202012/vocab/validation.rb
Direct Known Subclasses
Constant Summary
Constants included from Output
Instance Attribute Summary
Attributes inherited from Keyword
#parent, #parsed, #root, #value
Attributes included from Output
Instance Method Summary collapse
- #error(formatted_instance_location:) ⇒ Object
- #validate(instance, instance_location, keyword_location, _context) ⇒ Object
Methods inherited from Keyword
#absolute_keyword_location, #error_key, #fetch, #initialize, #parsed_schema, #schema_pointer
Methods included from Output
Constructor Details
This class inherits a constructor from JSONSchemer::Keyword
Instance Method Details
#error(formatted_instance_location:) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/json_schemer/draft202012/vocab/validation.rb', line 7 def error(formatted_instance_location:, **) case value when 'null' "value at #{formatted_instance_location} is not null" when 'boolean' "value at #{formatted_instance_location} is not a boolean" when 'number' "value at #{formatted_instance_location} is not a number" when 'integer' "value at #{formatted_instance_location} is not an integer" when 'string' "value at #{formatted_instance_location} is not a string" when 'array' "value at #{formatted_instance_location} is not an array" when 'object' "value at #{formatted_instance_location} is not an object" else "value at #{formatted_instance_location} is not one of the types: #{value}" end end |
#validate(instance, instance_location, keyword_location, _context) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/json_schemer/draft202012/vocab/validation.rb', line 28 def validate(instance, instance_location, keyword_location, _context) case parsed when String result(instance, instance_location, keyword_location, valid_type(parsed, instance), :type => parsed) when Array result(instance, instance_location, keyword_location, parsed.any? { |type| valid_type(type, instance) }) end end |