class

JSONSchema::ObjectValidator

Inherits JSONSchema::ValidatorRender / Reference / Object

Validates schema where the type is object.

This is a raw Validator class that you most likely do not need to use directly. See the JSONSchema#create_validator macro, JSONSchema#from_json, or JSONSchema.fluent for common usage of this shard.

Instance methods

additional_properties
Source
additional_properties=(additional_properties : Validator | Nil)
Source
composites
Source
composites=(composites : Array(CompositeValidator))
Source
dependent_required
Source
dependent_required=(dependent_required : Hash(String, Array(String)))
Source
dependent_schemas
Source
dependent_schemas=(dependent_schemas : Hash(String, ObjectValidator))
Source
enum_list
Source
enum_list=(enum_list : Array(JSON::Any))
Source
has_disabled_additional_properties
Source
has_disabled_additional_properties=(has_disabled_additional_properties : Bool)
Source
max_properties
Source
max_properties=(max_properties : Int32 | Nil)
Source
min_properties
Source
min_properties=(min_properties : Int32 | Nil)
Source
pattern_properties
Source
pattern_properties=(pattern_properties : Hash(Regex, Validator))
Source
properties
Source
properties=(properties : Hash(String, Validator))
Source
property_names
Source
property_names=(property_names : StringValidator | Nil)
Source
required
Source
required=(required : Array(String) | Nil)
Source
to_cr
Source
to_json(json : JSON::Builder)

Serialize the validator into its string representation.

js = JSONSchema.fluent

validator = js.object do
  prop "name", js.string
end

validator.to_json # => {"type":"object","properties":{"name":{"type":"string"}}}
Source
validate(node : JSON::Any, context = NodeContext.new("."))
Source