Module: JSONSchemer::Draft4
- Defined in:
- lib/json_schemer/draft4/meta.rb,
lib/json_schemer/draft4/vocab.rb,
lib/json_schemer/draft4/vocab/validation.rb
Defined Under Namespace
Modules: Vocab
Constant Summary collapse
- BASE_URI =
URI('http://json-schema.org/draft-04/schema#')
- FORMATS =
Draft6::FORMATS.dup
- CONTENT_ENCODINGS =
Draft6::CONTENT_ENCODINGS
- CONTENT_MEDIA_TYPES =
Draft6::CONTENT_MEDIA_TYPES
- SCHEMA =
{ 'id' => 'http://json-schema.org/draft-04/schema#', '$schema' => 'http://json-schema.org/draft-04/schema#', 'description' => 'Core schema meta-schema', 'definitions' => { 'schemaArray' => { 'type' => 'array', 'minItems' => 1, 'items' => { '$ref' => '#' } }, 'positiveInteger' => { 'type' => 'integer', 'minimum' => 0 }, 'positiveIntegerDefault0' => { 'allOf' => [ { '$ref' => '#/definitions/positiveInteger' }, { 'default' => 0 } ] }, 'simpleTypes' => { 'enum' => [ 'array', 'boolean', 'integer', 'null', 'number', 'object', 'string' ] }, 'stringArray' => { 'type' => 'array', 'items' => { 'type' => 'string' }, 'minItems' => 1, 'uniqueItems' => true } }, 'type' => 'object', 'properties' => { 'id' => { 'type' => 'string' }, '$schema' => { 'type' => 'string' }, 'title' => { 'type' => 'string' }, 'description' => { 'type' => 'string' }, 'default' => {}, 'multipleOf' => { 'type' => 'number', 'minimum' => 0, 'exclusiveMinimum' => true }, 'maximum' => { 'type' => 'number' }, 'exclusiveMaximum' => { 'type' => 'boolean', 'default' => false }, 'minimum' => { 'type' => 'number' }, 'exclusiveMinimum' => { 'type' => 'boolean', 'default' => false }, 'maxLength' => { '$ref' => '#/definitions/positiveInteger' }, 'minLength' => { '$ref' => '#/definitions/positiveIntegerDefault0' }, 'pattern' => { 'type' => 'string', 'format' => 'regex' }, 'additionalItems' => { 'anyOf' => [ { 'type' => 'boolean' }, { '$ref' => '#' } ], 'default' => {} }, 'items' => { 'anyOf' => [ { '$ref' => '#' }, { '$ref' => '#/definitions/schemaArray' } ], 'default' => {} }, 'maxItems' => { '$ref' => '#/definitions/positiveInteger' }, 'minItems' => { '$ref' => '#/definitions/positiveIntegerDefault0' }, 'uniqueItems' => { 'type' => 'boolean', 'default' => false }, 'maxProperties' => { '$ref' => '#/definitions/positiveInteger' }, 'minProperties' => { '$ref' => '#/definitions/positiveIntegerDefault0' }, 'required' => { '$ref' => '#/definitions/stringArray' }, 'additionalProperties' => { 'anyOf' => [ { 'type' => 'boolean' }, { '$ref' => '#' } ], 'default' => {} }, 'definitions' => { 'type' => 'object', 'additionalProperties' => { '$ref' => '#' }, 'default' => {} }, 'properties' => { 'type' => 'object', 'additionalProperties' => { '$ref' => '#' }, 'default' => {} }, 'patternProperties' => { 'type' => 'object', 'additionalProperties' => { '$ref' => '#' }, 'default' => {} }, 'dependencies' => { 'type' => 'object', 'additionalProperties' => { 'anyOf' => [ { '$ref' => '#' }, { '$ref' => '#/definitions/stringArray' } ] } }, 'enum' => { 'type' => 'array', 'minItems' => 1, 'uniqueItems' => true }, 'type' => { 'anyOf' => [ { '$ref' => '#/definitions/simpleTypes' }, { 'type' => 'array', 'items' => { '$ref' => '#/definitions/simpleTypes' }, 'minItems' => 1, 'uniqueItems' => true } ] }, 'format' => { 'type' => 'string' }, 'allOf' => { '$ref' => '#/definitions/schemaArray' }, 'anyOf' => { '$ref' => '#/definitions/schemaArray' }, 'oneOf' => { '$ref' => '#/definitions/schemaArray' }, 'not' => { '$ref' => '#' } }, 'dependencies' => { 'exclusiveMaximum' => [ 'maximum' ], 'exclusiveMinimum' => [ 'minimum' ] }, 'default' => {} }