Module: JSONSchemer::Draft7
- Defined in:
- lib/json_schemer/draft7/meta.rb,
lib/json_schemer/draft7/vocab.rb,
lib/json_schemer/draft7/vocab/validation.rb
Defined Under Namespace
Modules: Vocab
Constant Summary collapse
- BASE_URI =
URI('http://json-schema.org/draft-07/schema#')
- FORMATS =
Draft201909::FORMATS.dup
- CONTENT_ENCODINGS =
Draft201909::CONTENT_ENCODINGS
- CONTENT_MEDIA_TYPES =
Draft201909::CONTENT_MEDIA_TYPES
- SCHEMA =
{ '$schema' => 'http://json-schema.org/draft-07/schema#', '$id' => 'http://json-schema.org/draft-07/schema#', 'title' => 'Core schema meta-schema', 'definitions' => { 'schemaArray' => { 'type' => 'array', 'minItems' => 1, 'items' => { '$ref' => '#' } }, 'nonNegativeInteger' => { 'type' => 'integer', 'minimum' => 0 }, 'nonNegativeIntegerDefault0' => { 'allOf' => [ { '$ref' => '#/definitions/nonNegativeInteger' }, { 'default' => 0 } ] }, 'simpleTypes' => { 'enum' => [ 'array', 'boolean', 'integer', 'null', 'number', 'object', 'string' ] }, 'stringArray' => { 'type' => 'array', 'items' => { 'type' => 'string' }, 'uniqueItems' => true, 'default' => [] } }, 'type' => ['object', 'boolean'], 'properties' => { '$id' => { 'type' => 'string', 'format' => 'uri-reference' }, '$schema' => { 'type' => 'string', 'format' => 'uri' }, '$ref' => { 'type' => 'string', 'format' => 'uri-reference' }, '$comment' => { 'type' => 'string' }, 'title' => { 'type' => 'string' }, 'description' => { 'type' => 'string' }, 'default' => true, 'readOnly' => { 'type' => 'boolean', 'default' => false }, 'writeOnly' => { 'type' => 'boolean', 'default' => false }, 'examples' => { 'type' => 'array', 'items' => true }, 'multipleOf' => { 'type' => 'number', 'exclusiveMinimum' => 0 }, 'maximum' => { 'type' => 'number' }, 'exclusiveMaximum' => { 'type' => 'number' }, 'minimum' => { 'type' => 'number' }, 'exclusiveMinimum' => { 'type' => 'number' }, 'maxLength' => { '$ref' => '#/definitions/nonNegativeInteger' }, 'minLength' => { '$ref' => '#/definitions/nonNegativeIntegerDefault0' }, 'pattern' => { 'type' => 'string', 'format' => 'regex' }, 'additionalItems' => { '$ref' => '#' }, 'items' => { 'anyOf' => [ { '$ref' => '#' }, { '$ref' => '#/definitions/schemaArray' } ], 'default' => true }, 'maxItems' => { '$ref' => '#/definitions/nonNegativeInteger' }, 'minItems' => { '$ref' => '#/definitions/nonNegativeIntegerDefault0' }, 'uniqueItems' => { 'type' => 'boolean', 'default' => false }, 'contains' => { '$ref' => '#' }, 'maxProperties' => { '$ref' => '#/definitions/nonNegativeInteger' }, 'minProperties' => { '$ref' => '#/definitions/nonNegativeIntegerDefault0' }, 'required' => { '$ref' => '#/definitions/stringArray' }, 'additionalProperties' => { '$ref' => '#' }, 'definitions' => { 'type' => 'object', 'additionalProperties' => { '$ref' => '#' }, 'default' => {} }, 'properties' => { 'type' => 'object', 'additionalProperties' => { '$ref' => '#' }, 'default' => {} }, 'patternProperties' => { 'type' => 'object', 'additionalProperties' => { '$ref' => '#' }, 'propertyNames' => { 'format' => 'regex' }, 'default' => {} }, 'dependencies' => { 'type' => 'object', 'additionalProperties' => { 'anyOf' => [ { '$ref' => '#' }, { '$ref' => '#/definitions/stringArray' } ] } }, 'propertyNames' => { '$ref' => '#' }, 'const' => true, 'enum' => { 'type' => 'array', 'items' => true, 'minItems' => 1, 'uniqueItems' => true }, 'type' => { 'anyOf' => [ { '$ref' => '#/definitions/simpleTypes' }, { 'type' => 'array', 'items' => { '$ref' => '#/definitions/simpleTypes' }, 'minItems' => 1, 'uniqueItems' => true } ] }, 'format' => { 'type' => 'string' }, 'contentMediaType' => { 'type' => 'string' }, 'contentEncoding' => { 'type' => 'string' }, 'if' => { '$ref' => '#' }, 'then' => { '$ref' => '#' }, 'else' => { '$ref' => '#' }, 'allOf' => { '$ref' => '#/definitions/schemaArray' }, 'anyOf' => { '$ref' => '#/definitions/schemaArray' }, 'oneOf' => { '$ref' => '#/definitions/schemaArray' }, 'not' => { '$ref' => '#' } }, 'default' => true }