Class: JSON::Schema::Validator
- Inherits:
-
Object
- Object
- JSON::Schema::Validator
- Defined in:
- lib/json-schema/validator.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
Returns the value of attribute attributes.
-
#uri ⇒ Object
Returns the value of attribute uri.
Instance Method Summary collapse
- #extend_schema_definition(schema_uri) ⇒ Object
-
#initialize ⇒ Validator
constructor
A new instance of Validator.
- #to_s ⇒ Object
- #validate(current_schema, data, fragments) ⇒ Object
Constructor Details
#initialize ⇒ Validator
Returns a new instance of Validator.
40 41 42 43 |
# File 'lib/json-schema/validator.rb', line 40 def initialize() @attributes = {} @uri = nil end |
Instance Attribute Details
#attributes ⇒ Object
Returns the value of attribute attributes.
38 39 40 |
# File 'lib/json-schema/validator.rb', line 38 def attributes @attributes end |
#uri ⇒ Object
Returns the value of attribute uri.
38 39 40 |
# File 'lib/json-schema/validator.rb', line 38 def uri @uri end |
Instance Method Details
#extend_schema_definition(schema_uri) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/json-schema/validator.rb', line 45 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
54 55 56 |
# File 'lib/json-schema/validator.rb', line 54 def to_s "#{@uri.scheme}://#{uri.host}#{uri.path}" end |
#validate(current_schema, data, fragments) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/json-schema/validator.rb', line 58 def validate(current_schema, data, fragments) 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, self) end end data end |