json-schema 2.1.3 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/README.textile +1 -1
- data/lib/json-schema.rb +1 -1
- data/lib/json-schema/attributes/allof.rb +2 -2
- data/lib/json-schema/attributes/format.rb +1 -1
- data/lib/json-schema/attributes/oneof.rb +15 -18
- data/lib/json-schema/uri/file.rb +13 -9
- data/lib/json-schema/validator.rb +26 -22
- data/test/data/all_of_ref_data.json +3 -0
- data/test/data/one_of_ref_links_data.json +5 -0
- data/test/schemas/all_of_ref_base_schema.json +4 -0
- data/test/schemas/all_of_ref_schema.json +7 -0
- data/test/schemas/one_of_ref_links_schema.json +16 -0
- data/test/schemas/self_link_schema.json +17 -0
- data/test/schemas/up_link_schema.json +17 -0
- data/test/test_all_of_ref_schema.rb +11 -0
- data/test/test_any_of_ref_schema.rb +1 -1
- data/test/{schemas/test_fragment_resolution.rb → test_fragment_resolution.rb} +1 -0
- data/test/test_jsonschema_draft3.rb +1 -1
- data/test/test_jsonschema_draft4.rb +4 -0
- data/test/test_one_of.rb +42 -0
- metadata +27 -10
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NWQ0NmRiOWRjODkxOWJiYTU4MmVhMTI4NmI1MDQyZDkzMzU2ZWQ1Zg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MDcwZGNmZjk4YmY1ZjVjZjIwNGFlNGQ4MjNmYTllOGY5MzRjZWE0YQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YzFkOGY5ZWZlOGIxOTVkYzUyOTU3MDRiYTljN2IwN2UyOGI4MTY2YmVkM2Iy
|
10
|
+
ZmU3MzZkODI2ZDlkYmQ4YTZjOWE2MTYwZTc2Mjc1MjhkN2QxZDA5ZTliNmMz
|
11
|
+
YTc1YzMzYzEzNzMxNDQ1ZTU2YWU2NDEyZGRkMThjMTMyMjI1Mzc=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YWIzMjE4ZGZkYTA3NjIzODg2OGNmMWZmNDJkM2VjNzhhYzZlZDZjMTU1Yzgw
|
14
|
+
NzA0NzlkYjFhNjJjZDZjMmQ5OTBiYjUzMWVmOTQyM2U3YzIzMzQyOTIyNDUz
|
15
|
+
OTM1MzhiNTkxODlmMmVlMjEzYWQ4MWIzYWRhZjM5OTQxMTEwOWQ=
|
data/README.textile
CHANGED
data/lib/json-schema.rb
CHANGED
@@ -20,5 +20,5 @@ require 'rubygems'
|
|
20
20
|
require 'schema'
|
21
21
|
require 'validator'
|
22
22
|
Dir[File.join(File.dirname(__FILE__), "json-schema/attributes/*.rb")].each {|file| require file }
|
23
|
-
Dir[File.join(File.dirname(__FILE__), "json-schema/validators/*.rb")].each {|file| require file }
|
23
|
+
Dir[File.join(File.dirname(__FILE__), "json-schema/validators/*.rb")].sort!.each {|file| require file }
|
24
24
|
require 'uri/file'
|
@@ -26,7 +26,7 @@ module JSON
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
if !valid
|
29
|
+
if !valid || !errors.empty?
|
30
30
|
message = "The property '#{build_fragment(fragments)}' of type #{data.class} did not match all of the required schemas"
|
31
31
|
validation_error(processor, message, fragments, current_schema, self, options[:record_errors])
|
32
32
|
validation_errors(processor).last.sub_errors = errors
|
@@ -34,4 +34,4 @@ module JSON
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
|
-
end
|
37
|
+
end
|
@@ -9,7 +9,7 @@ module JSON
|
|
9
9
|
if data.is_a?(String)
|
10
10
|
error_message = "The property '#{build_fragment(fragments)}' must be a date/time in the ISO-8601 format of YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss.ssZ"
|
11
11
|
validation_error(processor, error_message, fragments, current_schema, self, options[:record_errors]) and return if !data.is_a?(String)
|
12
|
-
r = Regexp.new('^\d\d\d\d-\d\d-\d\dT(\d\d):(\d\d):(\d\d)([\.,]\d+)?(Z|[+-](\d\d)(
|
12
|
+
r = Regexp.new('^\d\d\d\d-\d\d-\d\dT(\d\d):(\d\d):(\d\d)([\.,]\d+)?(Z|[+-](\d\d)(:?\d\d)?)?$')
|
13
13
|
if (m = r.match(data))
|
14
14
|
parts = data.split("T")
|
15
15
|
begin
|
@@ -2,34 +2,31 @@ module JSON
|
|
2
2
|
class Schema
|
3
3
|
class OneOfAttribute < Attribute
|
4
4
|
def self.validate(current_schema, data, fragments, processor, validator, options = {})
|
5
|
-
|
6
|
-
valid = false
|
7
|
-
|
5
|
+
validation_errors = 0
|
8
6
|
current_schema.schema['oneOf'].each do |element|
|
9
7
|
schema = JSON::Schema.new(element,current_schema.uri,validator)
|
10
8
|
|
11
9
|
begin
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
else
|
16
|
-
matched = true
|
17
|
-
valid = true
|
18
|
-
end
|
10
|
+
# need to raise exceptions on error because
|
11
|
+
# schema.validate doesn't reliably return true/false
|
12
|
+
schema.validate(data,fragments,processor,options.merge(:record_errors => false))
|
19
13
|
rescue ValidationError
|
14
|
+
validation_errors += 1
|
20
15
|
end
|
21
16
|
|
22
17
|
end
|
23
18
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
19
|
+
case validation_errors
|
20
|
+
when current_schema.schema['oneOf'].length - 1 # correct, matched only one
|
21
|
+
message = nil
|
22
|
+
when current_schema.schema['oneOf'].length # didn't match any
|
23
|
+
message = "The property '#{build_fragment(fragments)}' of type #{data.class} did not match any of the required schemas"
|
24
|
+
else # too many matches
|
25
|
+
message = "The property '#{build_fragment(fragments)}' of type #{data.class} matched more than one of the required schemas"
|
31
26
|
end
|
27
|
+
|
28
|
+
validation_error(processor, message, fragments, current_schema, self, options[:record_errors]) if message
|
32
29
|
end
|
33
30
|
end
|
34
31
|
end
|
35
|
-
end
|
32
|
+
end
|
data/lib/json-schema/uri/file.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rbconfig'
|
1
2
|
require 'uri'
|
2
3
|
|
3
4
|
module URI
|
@@ -5,28 +6,31 @@ module URI
|
|
5
6
|
# Ruby does not have built-in support for filesystem URIs, and definitely does not have built-in support for
|
6
7
|
# using open-uri with filesystem URIs
|
7
8
|
class File < Generic
|
8
|
-
|
9
|
+
|
9
10
|
COMPONENT = [
|
10
|
-
:scheme,
|
11
|
-
:path,
|
11
|
+
:scheme,
|
12
|
+
:path,
|
12
13
|
:fragment,
|
13
14
|
:host
|
14
15
|
].freeze
|
15
|
-
|
16
|
+
|
16
17
|
def initialize(*arg)
|
17
|
-
arg[2]
|
18
|
+
# arg[2] is the 'host'; this logic to set it to "" causes file schemes with UNC to break
|
19
|
+
# so don't do it on windows platforms
|
20
|
+
is_windows = (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
|
21
|
+
arg[2] = "" unless is_windows
|
18
22
|
super(*arg)
|
19
23
|
end
|
20
|
-
|
24
|
+
|
21
25
|
def self.build(args)
|
22
26
|
tmp = Util::make_components_hash(self, args)
|
23
27
|
return super(tmp)
|
24
28
|
end
|
25
|
-
|
29
|
+
|
26
30
|
def open(*rest, &block)
|
27
31
|
::File.open(self.path, *rest, &block)
|
28
32
|
end
|
29
|
-
|
33
|
+
|
30
34
|
@@schemes['FILE'] = File
|
31
35
|
end
|
32
|
-
end
|
36
|
+
end
|
@@ -189,21 +189,28 @@ module JSON
|
|
189
189
|
end
|
190
190
|
|
191
191
|
fragments.each do |f|
|
192
|
-
if base_schema.is_a?(
|
192
|
+
if base_schema.is_a?(JSON::Schema) #test if fragment is a JSON:Schema instance
|
193
|
+
if !base_schema.schema.has_key?(f)
|
194
|
+
raise JSON::Schema::SchemaError.new("Invalid fragment resolution for :fragment option")
|
195
|
+
end
|
196
|
+
base_schema = base_schema.schema[f]
|
197
|
+
elsif base_schema.is_a?(Hash)
|
193
198
|
if !base_schema.has_key?(f)
|
194
199
|
raise JSON::Schema::SchemaError.new("Invalid fragment resolution for :fragment option")
|
195
200
|
end
|
196
|
-
|
201
|
+
base_schema = initialize_schema(base_schema[f]) #need to return a Schema instance for validation to work
|
197
202
|
elsif base_schema.is_a?(Array)
|
198
203
|
if base_schema[f.to_i].nil?
|
199
204
|
raise JSON::Schema::SchemaError.new("Invalid fragment resolution for :fragment option")
|
200
205
|
end
|
201
|
-
|
206
|
+
base_schema = initialize_schema(base_schema[f.to_i])
|
202
207
|
else
|
203
208
|
raise JSON::Schema::SchemaError.new("Invalid schema encountered when resolving :fragment option")
|
204
209
|
end
|
205
210
|
end
|
206
|
-
|
211
|
+
if @options[:list] #check if the schema is validating a list
|
212
|
+
base_schema.schema = schema_to_list(base_schema.schema)
|
213
|
+
end
|
207
214
|
base_schema
|
208
215
|
end
|
209
216
|
|
@@ -553,18 +560,23 @@ module JSON
|
|
553
560
|
@@fake_uri_generator.call(schema)
|
554
561
|
end
|
555
562
|
|
563
|
+
def schema_to_list(schema)
|
564
|
+
new_schema = {"type" => "array", "items" => schema}
|
565
|
+
if !schema["$schema"].nil?
|
566
|
+
new_schema["$schema"] = schema["$schema"]
|
567
|
+
end
|
568
|
+
|
569
|
+
new_schema
|
570
|
+
end
|
571
|
+
|
556
572
|
def initialize_schema(schema)
|
557
573
|
if schema.is_a?(String)
|
558
574
|
begin
|
559
575
|
# Build a fake URI for this
|
560
576
|
schema_uri = URI.parse(fake_uri(schema))
|
561
577
|
schema = JSON::Validator.parse(schema)
|
562
|
-
if @options[:list]
|
563
|
-
|
564
|
-
if !schema["$schema"].nil?
|
565
|
-
new_schema["$schema"] = schema["$schema"]
|
566
|
-
end
|
567
|
-
schema = new_schema
|
578
|
+
if @options[:list] && @options[:fragment].nil?
|
579
|
+
schema = schema_to_list(schema)
|
568
580
|
end
|
569
581
|
schema = JSON::Schema.new(schema,schema_uri,@options[:version])
|
570
582
|
Validator.add_schema(schema)
|
@@ -581,12 +593,8 @@ module JSON
|
|
581
593
|
end
|
582
594
|
if Validator.schemas[schema_uri.to_s].nil?
|
583
595
|
schema = JSON::Validator.parse(open(schema_uri.to_s).read)
|
584
|
-
if @options[:list]
|
585
|
-
|
586
|
-
if !schema["$schema"].nil?
|
587
|
-
new_schema["$schema"] = schema["$schema"]
|
588
|
-
end
|
589
|
-
schema = new_schema
|
596
|
+
if @options[:list] && @options[:fragment].nil?
|
597
|
+
schema = schema_to_list(schema)
|
590
598
|
end
|
591
599
|
schema = JSON::Schema.new(schema,schema_uri,@options[:version])
|
592
600
|
Validator.add_schema(schema)
|
@@ -595,12 +603,8 @@ module JSON
|
|
595
603
|
end
|
596
604
|
end
|
597
605
|
elsif schema.is_a?(Hash)
|
598
|
-
if @options[:list]
|
599
|
-
|
600
|
-
if !schema["$schema"].nil?
|
601
|
-
new_schema["$schema"] = schema["$schema"]
|
602
|
-
end
|
603
|
-
schema = new_schema
|
606
|
+
if @options[:list] && @options[:fragment].nil?
|
607
|
+
schema = schema_to_list(schema)
|
604
608
|
end
|
605
609
|
schema_uri = URI.parse(fake_uri(serialize(schema)))
|
606
610
|
schema = JSON::Schema.new(schema,schema_uri,@options[:version])
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{ "$schema": "http://json-schema.org/draft-04/schema#"
|
2
|
+
, "type": "object"
|
3
|
+
, "properties":
|
4
|
+
{ "links" :
|
5
|
+
{ "type" : "array"
|
6
|
+
, "items" :
|
7
|
+
{ "type" : "object"
|
8
|
+
, "oneOf" :
|
9
|
+
[ { "$ref" : "self_link_schema.json"}
|
10
|
+
, { "$ref" : "up_link_schema.json" }
|
11
|
+
]
|
12
|
+
}
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{ "$schema": "http://json-schema.org/draft-04/schema#"
|
2
|
+
, "type": "object"
|
3
|
+
, "properties" :
|
4
|
+
{ "rel" :
|
5
|
+
{ "type" : "array"
|
6
|
+
, "items" :
|
7
|
+
[ { "type" : "string"
|
8
|
+
, "pattern" : "self"
|
9
|
+
}
|
10
|
+
]
|
11
|
+
}
|
12
|
+
, "href" :
|
13
|
+
{ "type" : "string"
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{ "$schema": "http://json-schema.org/draft-04/schema#"
|
2
|
+
, "type": "object"
|
3
|
+
, "properties" :
|
4
|
+
{ "rel" :
|
5
|
+
{ "type" : "array"
|
6
|
+
, "items" :
|
7
|
+
[ { "type" : "string"
|
8
|
+
, "pattern" : "up"
|
9
|
+
}
|
10
|
+
]
|
11
|
+
}
|
12
|
+
, "href" :
|
13
|
+
{ "type" : "string"
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.dirname(__FILE__) + '/../lib/json-schema'
|
3
|
+
|
4
|
+
class AnyOfRefSchemaTest < Test::Unit::TestCase
|
5
|
+
def test_all_of_ref_schema
|
6
|
+
schema = File.join(File.dirname(__FILE__),"schemas/all_of_ref_schema.json")
|
7
|
+
data = File.join(File.dirname(__FILE__),"data/all_of_ref_data.json")
|
8
|
+
errors = JSON::Validator.fully_validate(schema,data, :errors_as_objects => true)
|
9
|
+
assert(!errors.empty?, "should have failed to validate")
|
10
|
+
end
|
11
|
+
end
|
@@ -2,7 +2,7 @@ require 'test/unit'
|
|
2
2
|
require File.dirname(__FILE__) + '/../lib/json-schema'
|
3
3
|
|
4
4
|
class AnyOfRefSchemaTest < Test::Unit::TestCase
|
5
|
-
def
|
5
|
+
def test_any_of_ref_schema
|
6
6
|
schema = File.join(File.dirname(__FILE__),"schemas/any_of_ref_schema.json")
|
7
7
|
data = File.join(File.dirname(__FILE__),"data/any_of_ref_data.json")
|
8
8
|
errors = JSON::Validator.fully_validate(schema,data, :errors_as_objects => true)
|
@@ -970,7 +970,7 @@ class JSONSchemaDraft3Test < Test::Unit::TestCase
|
|
970
970
|
data = {"a" => "2010-01-01T12:00:00+01:30"}
|
971
971
|
assert(JSON::Validator.validate(schema,data))
|
972
972
|
data = {"a" => "2010-01-01T12:00:00+0234"}
|
973
|
-
assert(
|
973
|
+
assert(JSON::Validator.validate(schema,data))
|
974
974
|
data = {"a" => "2010-01-01T12:00:00+01:"}
|
975
975
|
assert(!JSON::Validator.validate(schema,data))
|
976
976
|
data = {"a" => "2010-01-01T12:00:00+0"}
|
@@ -893,6 +893,10 @@ class JSONSchemaDraft4Test < Test::Unit::TestCase
|
|
893
893
|
assert(JSON::Validator.validate(schema,data))
|
894
894
|
data = {"a" => "2010-01-01T12:00:00,1Z"}
|
895
895
|
assert(JSON::Validator.validate(schema,data))
|
896
|
+
data = {"a" => "2010-01-01T12:00:00+0000"}
|
897
|
+
assert(JSON::Validator.validate(schema,data))
|
898
|
+
data = {"a" => "2010-01-01T12:00:00+00:00"}
|
899
|
+
assert(JSON::Validator.validate(schema,data))
|
896
900
|
data = {"a" => "2010-01-32T12:00:00Z"}
|
897
901
|
assert(!JSON::Validator.validate(schema,data))
|
898
902
|
data = {"a" => "2010-13-01T12:00:00Z"}
|
data/test/test_one_of.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.dirname(__FILE__) + '/../lib/json-schema'
|
3
|
+
|
4
|
+
class OneOfTest < Test::Unit::TestCase
|
5
|
+
def test_one_of_links_schema
|
6
|
+
schema = File.join(File.dirname(__FILE__),"schemas/one_of_ref_links_schema.json")
|
7
|
+
data = File.join(File.dirname(__FILE__),"data/one_of_ref_links_data.json")
|
8
|
+
errors = JSON::Validator.fully_validate(schema,data, :errors_as_objects => true)
|
9
|
+
assert(errors.empty?, errors.map{|e| e[:message] }.join("\n"))
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def test_one_of_with_string_patterns
|
14
|
+
schema = {
|
15
|
+
"$schema" => "http://json-schema.org/draft-04/schema#",
|
16
|
+
"oneOf" => [
|
17
|
+
{
|
18
|
+
"properties" => {"a" => {"type" => "string", "pattern" => "foo"}},
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"properties" => {"a" => {"type" => "string", "pattern" => "bar"}},
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"properties" => {"a" => {"type" => "string", "pattern" => "baz"}},
|
25
|
+
}
|
26
|
+
]
|
27
|
+
}
|
28
|
+
|
29
|
+
data = {"a" => "foo"}
|
30
|
+
assert(JSON::Validator.validate(schema,data))
|
31
|
+
|
32
|
+
data = {"a" => "foobar"}
|
33
|
+
assert(!JSON::Validator.validate(schema,data))
|
34
|
+
|
35
|
+
data = {"a" => "baz"}
|
36
|
+
assert(JSON::Validator.validate(schema,data))
|
37
|
+
|
38
|
+
data = {"a" => 5}
|
39
|
+
assert(!JSON::Validator.validate(schema,data))
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: json-schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Kenny Hoxworth
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-31 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description:
|
15
14
|
email: hoxworth@gmail.com
|
@@ -70,22 +69,28 @@ files:
|
|
70
69
|
- resources/draft-04.json
|
71
70
|
- README.textile
|
72
71
|
- LICENSE.md
|
73
|
-
- test/
|
72
|
+
- test/test_all_of_ref_schema.rb
|
74
73
|
- test/test_any_of_ref_schema.rb
|
75
74
|
- test/test_extended_schema.rb
|
76
75
|
- test/test_extends_and_additionalProperties.rb
|
77
76
|
- test/test_files_v3.rb
|
77
|
+
- test/test_fragment_resolution.rb
|
78
78
|
- test/test_full_validation.rb
|
79
79
|
- test/test_jsonschema_draft1.rb
|
80
80
|
- test/test_jsonschema_draft2.rb
|
81
81
|
- test/test_jsonschema_draft3.rb
|
82
82
|
- test/test_jsonschema_draft4.rb
|
83
|
+
- test/test_one_of.rb
|
83
84
|
- test/test_ruby_schema.rb
|
84
85
|
- test/test_schema_type_attribute.rb
|
85
86
|
- test/test_schema_validation.rb
|
87
|
+
- test/data/all_of_ref_data.json
|
86
88
|
- test/data/any_of_ref_data.json
|
87
89
|
- test/data/bad_data_1.json
|
88
90
|
- test/data/good_data_1.json
|
91
|
+
- test/data/one_of_ref_links_data.json
|
92
|
+
- test/schemas/all_of_ref_base_schema.json
|
93
|
+
- test/schemas/all_of_ref_schema.json
|
89
94
|
- test/schemas/any_of_ref_jane_schema.json
|
90
95
|
- test/schemas/any_of_ref_jimmy_schema.json
|
91
96
|
- test/schemas/any_of_ref_john_schema.json
|
@@ -99,47 +104,56 @@ files:
|
|
99
104
|
- test/schemas/good_schema_extends1.json
|
100
105
|
- test/schemas/good_schema_extends2.json
|
101
106
|
- test/schemas/inner.schema.json
|
107
|
+
- test/schemas/one_of_ref_links_schema.json
|
108
|
+
- test/schemas/self_link_schema.json
|
109
|
+
- test/schemas/up_link_schema.json
|
102
110
|
homepage: http://github.com/hoxworth/json-schema/tree/master
|
103
|
-
licenses:
|
111
|
+
licenses:
|
112
|
+
- MIT
|
113
|
+
metadata: {}
|
104
114
|
post_install_message:
|
105
115
|
rdoc_options: []
|
106
116
|
require_paths:
|
107
117
|
- lib
|
108
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
-
none: false
|
110
119
|
requirements:
|
111
120
|
- - ! '>='
|
112
121
|
- !ruby/object:Gem::Version
|
113
122
|
version: '0'
|
114
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
124
|
requirements:
|
117
125
|
- - ! '>='
|
118
126
|
- !ruby/object:Gem::Version
|
119
127
|
version: '0'
|
120
128
|
requirements: []
|
121
129
|
rubyforge_project:
|
122
|
-
rubygems_version:
|
130
|
+
rubygems_version: 2.0.7
|
123
131
|
signing_key:
|
124
|
-
specification_version:
|
132
|
+
specification_version: 4
|
125
133
|
summary: Ruby JSON Schema Validator
|
126
134
|
test_files:
|
127
|
-
- test/
|
135
|
+
- test/test_all_of_ref_schema.rb
|
128
136
|
- test/test_any_of_ref_schema.rb
|
129
137
|
- test/test_extended_schema.rb
|
130
138
|
- test/test_extends_and_additionalProperties.rb
|
131
139
|
- test/test_files_v3.rb
|
140
|
+
- test/test_fragment_resolution.rb
|
132
141
|
- test/test_full_validation.rb
|
133
142
|
- test/test_jsonschema_draft1.rb
|
134
143
|
- test/test_jsonschema_draft2.rb
|
135
144
|
- test/test_jsonschema_draft3.rb
|
136
145
|
- test/test_jsonschema_draft4.rb
|
146
|
+
- test/test_one_of.rb
|
137
147
|
- test/test_ruby_schema.rb
|
138
148
|
- test/test_schema_type_attribute.rb
|
139
149
|
- test/test_schema_validation.rb
|
150
|
+
- test/data/all_of_ref_data.json
|
140
151
|
- test/data/any_of_ref_data.json
|
141
152
|
- test/data/bad_data_1.json
|
142
153
|
- test/data/good_data_1.json
|
154
|
+
- test/data/one_of_ref_links_data.json
|
155
|
+
- test/schemas/all_of_ref_base_schema.json
|
156
|
+
- test/schemas/all_of_ref_schema.json
|
143
157
|
- test/schemas/any_of_ref_jane_schema.json
|
144
158
|
- test/schemas/any_of_ref_jimmy_schema.json
|
145
159
|
- test/schemas/any_of_ref_john_schema.json
|
@@ -153,3 +167,6 @@ test_files:
|
|
153
167
|
- test/schemas/good_schema_extends1.json
|
154
168
|
- test/schemas/good_schema_extends2.json
|
155
169
|
- test/schemas/inner.schema.json
|
170
|
+
- test/schemas/one_of_ref_links_schema.json
|
171
|
+
- test/schemas/self_link_schema.json
|
172
|
+
- test/schemas/up_link_schema.json
|