Class: JSON::Schema::Draft2

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

Direct Known Subclasses

HyperDraft2

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

#initializeDraft2

Returns a new instance of Draft2.



6
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/draft2.rb', line 6

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,
    'uniqueItems' => JSON::Schema::UniqueItemsAttribute,
    'minLength' => JSON::Schema::MinLengthAttribute,
    'maxLength' => JSON::Schema::MaxLengthAttribute,
    'divisibleBy' => JSON::Schema::DivisibleByAttribute,
    '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-02/schema#')
  @names = ['draft2']
  @metaschema_name = 'draft-02.json'
end