json_schema 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/json_schema/schema.rb +8 -0
- data/lib/json_schema/validator.rb +3 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65fd96a4a0b25ccd0d3f5d3076006a469e9cd7fc
|
4
|
+
data.tar.gz: f07194f4d483ee87b1905937ba0b42b19753bb16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 370459dbb6bfa029d8491777a3e68446f1e288d7c836c465a05d93a7703b369e06e66c0fc86f386a5fb463a532f285903b2f40f60d3443bc05dc8c3fa4facce2
|
7
|
+
data.tar.gz: debcdcce2c5102acda067fecc2e80fde6c78e8ee9182d3424429f93fef48ff8075348b72db9d07bea70f431326c6003e142a781cfaafb9691e7290262b12397e
|
data/lib/json_schema/schema.rb
CHANGED
@@ -34,11 +34,9 @@ module JsonSchema
|
|
34
34
|
private
|
35
35
|
|
36
36
|
def first_visit(schema, errors, path)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
@visits[pointer] ||= {}
|
41
|
-
@visits[pointer][path_string] = true
|
37
|
+
key = "#{schema.object_id}-#{schema.pointer}-#{path.join("/")}"
|
38
|
+
if !@visits.key?(key)
|
39
|
+
@visits[key] = true
|
42
40
|
true
|
43
41
|
else
|
44
42
|
message = %{Validation loop detected.}
|
@@ -67,7 +65,6 @@ module JsonSchema
|
|
67
65
|
|
68
66
|
def validate_data(schema, data, errors, path)
|
69
67
|
valid = true
|
70
|
-
|
71
68
|
# detect a validation loop
|
72
69
|
if !first_visit(schema, errors, path)
|
73
70
|
return false
|