Class: JSONSchemer::Draft7::Vocab::Validation::ContentMediaType
- Inherits:
-
JSONSchemer::Draft202012::Vocab::Content::ContentMediaType
- Object
- Keyword
- JSONSchemer::Draft202012::Vocab::Content::ContentMediaType
- JSONSchemer::Draft7::Vocab::Validation::ContentMediaType
- Defined in:
- lib/json_schemer/draft7/vocab/validation.rb
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 JSONSchemer::Draft202012::Vocab::Content::ContentMediaType
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
53 54 55 |
# File 'lib/json_schemer/draft7/vocab/validation.rb', line 53 def error(formatted_instance_location:, **) "string at #{formatted_instance_location} could not be parsed using media type: #{value}" end |
#validate(instance, instance_location, keyword_location, context) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/json_schemer/draft7/vocab/validation.rb', line 57 def validate(instance, instance_location, keyword_location, context) return result(instance, instance_location, keyword_location, true) unless instance.is_a?(String) decoded_instance = context.adjacent_results[ContentEncoding]&.annotation || instance valid, annotation = parsed.call(decoded_instance) result(instance, instance_location, keyword_location, valid, :annotation => annotation) end |