class JSONSchema::GenericValidator

Overview

Validates schema that has no type. Allows for constraints such as enum, #const or composite schemas that do not require a type keyword.

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.

Included Modules

Defined in:

render.cr
serialize.cr
validator.cr

Instance Method Summary

Instance Method Detail

def composites : Array(CompositeValidator) #

[View source]
def composites=(composites : Array(CompositeValidator)) #

[View source]
def const : JSON::Any | Nil #

[View source]
def const=(const : JSON::Any | Nil) #

[View source]
def enum_list : Array(JSON::Any) #

[View source]
def enum_list=(enum_list : Array(JSON::Any)) #

[View source]
def to_cr #

[View source]
def to_json(json : JSON::Builder) #

Serialize the validator into its string representation.

js = JSONSchema.fluent

validator = js.generic do
  const "test"
end

validator.to_json # => {"const":"test"}

[View source]
def validate(node : JSON::Any, context = NodeContext.new) #

[View source]