Class: JSON::Schema::Validator
- Inherits:
-
Object
- Object
- JSON::Schema::Validator
show all
- Defined in:
- lib/json-schema/validator.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
74
75
76
77
|
# File 'lib/json-schema/validator.rb', line 74
def initialize()
@attributes = {}
@uri = nil
end
|
Instance Attribute Details
#attributes ⇒ Object
Returns the value of attribute attributes.
72
73
74
|
# File 'lib/json-schema/validator.rb', line 72
def attributes
@attributes
end
|
#uri ⇒ Object
Returns the value of attribute uri.
72
73
74
|
# File 'lib/json-schema/validator.rb', line 72
def uri
@uri
end
|
Instance Method Details
#extend_schema_definition(schema_uri) ⇒ Object
79
80
81
82
83
84
85
86
|
# File 'lib/json-schema/validator.rb', line 79
def extend_schema_definition(schema_uri)
u = URI.parse(schema_uri)
validator = JSON::Validator.validators["#{u.scheme}://#{u.host}#{u.path}"]
if validator.nil?
raise SchemaError.new("Schema not found: #{u.scheme}://#{u.host}#{u.path}")
end
@attributes.merge!(validator.attributes)
end
|
#to_s ⇒ Object
88
89
90
|
# File 'lib/json-schema/validator.rb', line 88
def to_s
"#{@uri.scheme}://#{uri.host}#{uri.path}"
end
|
#validate(current_schema, data, fragments, processor, options = {}) ⇒ Object
92
93
94
95
96
97
98
99
|
# File 'lib/json-schema/validator.rb', line 92
def validate(current_schema, data, fragments, processor, options = {})
current_schema.schema.each do |attr_name,attribute|
if @attributes.has_key?(attr_name.to_s)
@attributes[attr_name.to_s].validate(current_schema, data, fragments, processor, self, options)
end
end
data
end
|