Class: JSON::Schema::Draft1

Inherits:
Validator show all
Defined in:
lib/json-schema/validators/draft1.rb

Direct Known Subclasses

HyperDraft1

Instance Attribute Summary

Attributes inherited from Validator

#attributes, #default_formats, #formats, #names, #uri

Instance Method Summary collapse

Methods inherited from Validator

#extend_schema_definition, #metaschema, #validate

Constructor Details

#initializeDraft1

Returns a new instance of Draft1.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/json-schema/validators/draft1.rb', line 7

def initialize
  super
  @attributes = {
    "type" => JSON::Schema::TypeAttribute,
    "disallow" => JSON::Schema::DisallowAttribute,
    "format" => JSON::Schema::FormatAttribute,
    "maximum" => JSON::Schema::MaximumInclusiveAttribute,
    "minimum" => JSON::Schema::MinimumInclusiveAttribute,
    "minItems" => JSON::Schema::MinItemsAttribute,
    "maxItems" => JSON::Schema::MaxItemsAttribute,
    "minLength" => JSON::Schema::MinLengthAttribute,
    "maxLength" => JSON::Schema::MaxLengthAttribute,
    "maxDecimal" => JSON::Schema::MaxDecimalAttribute,
    "enum" => JSON::Schema::EnumAttribute,
    "properties" => JSON::Schema::PropertiesOptionalAttribute,
    "pattern" => JSON::Schema::PatternAttribute,
    "additionalProperties" => JSON::Schema::AdditionalPropertiesAttribute,
    "items" => JSON::Schema::ItemsAttribute,
    "extends" => JSON::Schema::ExtendsAttribute
  }
  @default_formats = {
    'date-time' => DateTimeFormat,
    'date' => DateFormat,
    'time' => TimeFormat,
    'ip-address' => IP4Format,
    'ipv6' => IP6Format,
    'uri' => UriFormat
  }
  @formats = @default_formats.clone
  @uri = JSON::Util::URI.parse("http://json-schema.org/draft-01/schema#")
  @names = ["draft1"]
  @metaschema_name = "draft-01.json"
end