Class: JsonSchema::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/json_schema/validator.rb

Constant Summary collapse

TYPE_MAP =
{
  "array"   => Array,
  "boolean" => [FalseClass, TrueClass],
  "integer" => Integer,
  "number"  => [Integer, Float],
  "null"    => NilClass,
  "object"  => Hash,
  "string"  => String,
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schema) ⇒ Validator

Returns a new instance of Validator.



17
18
19
# File 'lib/json_schema/validator.rb', line 17

def initialize(schema)
  @schema = schema
end

Instance Attribute Details

#errorsObject

Returns the value of attribute errors.



15
16
17
# File 'lib/json_schema/validator.rb', line 15

def errors
  @errors
end

Instance Method Details

#validate(data) ⇒ Object



21
22
23
24
25
26
# File 'lib/json_schema/validator.rb', line 21

def validate(data)
  @errors = []
  @visits = {}
  validate_data(@schema, data, @errors, ['#'])
  @errors.size == 0
end

#validate!(data) ⇒ Object



28
29
30
31
32
# File 'lib/json_schema/validator.rb', line 28

def validate!(data)
  if !validate(data)
    raise @errors.join(" ")
  end
end