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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a21245deb4478d1114d452584d127d681691287
4
- data.tar.gz: c73611c6e500ecb1162e6ae7050a2d4e76e207b3
3
+ metadata.gz: 65fd96a4a0b25ccd0d3f5d3076006a469e9cd7fc
4
+ data.tar.gz: f07194f4d483ee87b1905937ba0b42b19753bb16
5
5
  SHA512:
6
- metadata.gz: bdba472b585f8625f2cf96eb9f179b5e9123bca8fe8640c1450148aee1ae2b2dacab80605879e485581374dfcdb40040889d758346c5834b33fd52ce6a85fed6
7
- data.tar.gz: a618f82b9e585fa7dfa2bf8f2e56ff73b7aa9aaea4729108989eafeedda615c579a6c03cd7354f672241c61aa7d7c2a14db1abed1521346b54a8408f4792a991
6
+ metadata.gz: 370459dbb6bfa029d8491777a3e68446f1e288d7c836c465a05d93a7703b369e06e66c0fc86f386a5fb463a532f285903b2f40f60d3443bc05dc8c3fa4facce2
7
+ data.tar.gz: debcdcce2c5102acda067fecc2e80fde6c78e8ee9182d3424429f93fef48ff8075348b72db9d07bea70f431326c6003e142a781cfaafb9691e7290262b12397e
@@ -261,6 +261,14 @@ module JsonSchema
261
261
  !clones.include?(self)
262
262
  end
263
263
 
264
+ def depth
265
+ if parent
266
+ parent.depth + 1
267
+ else
268
+ 0
269
+ end
270
+ end
271
+
264
272
  def pointer
265
273
  if parent
266
274
  parent.pointer + "/" + fragment
@@ -34,11 +34,9 @@ module JsonSchema
34
34
  private
35
35
 
36
36
  def first_visit(schema, errors, path)
37
- path_string = path.join("/")
38
- pointer = schema.pointer
39
- if !@visits.key?(pointer) || !@visits[pointer].key?(path_string)
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandur