schemacop 2.3.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +41 -0
  3. data/LICENSE +1 -1
  4. data/README.md +204 -14
  5. data/RUBY_VERSION +1 -1
  6. data/Rakefile +6 -5
  7. data/VERSION +1 -1
  8. data/doc/Schemacop.html +32 -5
  9. data/doc/Schemacop/ArrayValidator.html +4 -4
  10. data/doc/Schemacop/BooleanValidator.html +4 -4
  11. data/doc/Schemacop/Caster.html +379 -0
  12. data/doc/Schemacop/Collector.html +180 -104
  13. data/doc/Schemacop/Exceptions.html +3 -3
  14. data/doc/Schemacop/Exceptions/InvalidSchemaError.html +3 -3
  15. data/doc/Schemacop/Exceptions/ValidationError.html +3 -3
  16. data/doc/Schemacop/FieldNode.html +19 -7
  17. data/doc/Schemacop/FloatValidator.html +4 -4
  18. data/doc/Schemacop/HashValidator.html +4 -4
  19. data/doc/Schemacop/IntegerValidator.html +4 -4
  20. data/doc/Schemacop/NilValidator.html +4 -4
  21. data/doc/Schemacop/Node.html +97 -85
  22. data/doc/Schemacop/NodeResolver.html +28 -12
  23. data/doc/Schemacop/NodeSupportingField.html +4 -4
  24. data/doc/Schemacop/NodeSupportingType.html +5 -7
  25. data/doc/Schemacop/NodeWithBlock.html +4 -4
  26. data/doc/Schemacop/NumberValidator.html +4 -4
  27. data/doc/Schemacop/ObjectValidator.html +3 -3
  28. data/doc/Schemacop/RootNode.html +4 -4
  29. data/doc/Schemacop/Schema.html +5 -5
  30. data/doc/Schemacop/StringValidator.html +3 -3
  31. data/doc/Schemacop/SymbolValidator.html +4 -4
  32. data/doc/ScopedEnv.html +3 -3
  33. data/doc/_index.html +11 -4
  34. data/doc/class_list.html +1 -1
  35. data/doc/css/style.css +10 -6
  36. data/doc/file.README.html +198 -16
  37. data/doc/frames.html +1 -1
  38. data/doc/index.html +198 -16
  39. data/doc/js/app.js +55 -0
  40. data/doc/method_list.html +81 -49
  41. data/doc/top-level-namespace.html +3 -3
  42. data/lib/schemacop.rb +14 -0
  43. data/lib/schemacop/caster.rb +38 -0
  44. data/lib/schemacop/collector.rb +34 -6
  45. data/lib/schemacop/field_node.rb +24 -3
  46. data/lib/schemacop/node.rb +16 -4
  47. data/lib/schemacop/node_resolver.rb +10 -2
  48. data/lib/schemacop/node_supporting_type.rb +19 -1
  49. data/lib/schemacop/schema.rb +2 -2
  50. data/lib/schemacop/validator/array_validator.rb +1 -1
  51. data/lib/schemacop/validator/float_validator.rb +1 -1
  52. data/lib/schemacop/validator/integer_validator.rb +1 -1
  53. data/lib/schemacop/validator/object_validator.rb +1 -1
  54. data/schemacop.gemspec +15 -9
  55. data/test/casting_test.rb +90 -0
  56. data/test/custom_check_test.rb +20 -13
  57. data/test/custom_if_test.rb +12 -12
  58. data/test/defaults_test.rb +71 -0
  59. data/test/nil_dis_allow_test.rb +6 -6
  60. data/test/node_resolver_test.rb +26 -0
  61. data/test/short_forms_test.rb +84 -66
  62. data/test/test_helper.rb +7 -0
  63. data/test/types_test.rb +5 -5
  64. data/test/validator_array_test.rb +16 -16
  65. data/test/validator_boolean_test.rb +2 -2
  66. data/test/validator_float_test.rb +15 -15
  67. data/test/validator_hash_test.rb +5 -5
  68. data/test/validator_integer_test.rb +9 -9
  69. data/test/validator_nil_test.rb +1 -1
  70. data/test/validator_number_test.rb +19 -19
  71. data/test/validator_object_test.rb +52 -18
  72. data/test/validator_string_test.rb +12 -12
  73. data/test/validator_symbol_test.rb +2 -2
  74. metadata +43 -14
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Schemacop::ArrayValidator
8
8
 
9
- &mdash; Documentation by YARD 0.9.9
9
+ &mdash; Documentation by YARD 0.9.20
10
10
 
11
11
  </title>
12
12
 
@@ -304,7 +304,7 @@
304
304
  <span class='id identifier rubyid_collector'>collector</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array must have less (&lt;=) than </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='lparen'>(</span><span class='symbol'>:max</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'> elements.</span><span class='tstring_end'>&quot;</span></span>
305
305
  <span class='kw'>end</span>
306
306
  <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_entry'>entry</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='op'>|</span>
307
- <span class='id identifier rubyid_collector'>collector</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_index'>index</span><span class='embexpr_end'>}</span><span class='tstring_content'>]</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
307
+ <span class='id identifier rubyid_collector'>collector</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_index'>index</span><span class='embexpr_end'>}</span><span class='tstring_content'>]</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='comma'>,</span> <span class='symbol'>:array</span><span class='rparen'>)</span> <span class='kw'>do</span>
308
308
  <span class='id identifier rubyid_validate_types'>validate_types</span><span class='lparen'>(</span><span class='id identifier rubyid_entry'>entry</span><span class='comma'>,</span> <span class='id identifier rubyid_collector'>collector</span><span class='rparen'>)</span>
309
309
  <span class='kw'>end</span>
310
310
  <span class='kw'>end</span>
@@ -319,9 +319,9 @@
319
319
  </div>
320
320
 
321
321
  <div id="footer">
322
- Generated on Thu May 18 13:17:23 2017 by
322
+ Generated on Tue Nov 5 11:16:28 2019 by
323
323
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
324
- 0.9.9 (ruby-2.3.1).
324
+ 0.9.20 (ruby-2.6.2).
325
325
  </div>
326
326
 
327
327
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Schemacop::BooleanValidator
8
8
 
9
- &mdash; Documentation by YARD 0.9.9
9
+ &mdash; Documentation by YARD 0.9.20
10
10
 
11
11
  </title>
12
12
 
@@ -123,7 +123,7 @@
123
123
  <h2>Method Summary</h2>
124
124
 
125
125
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Node.html" title="Schemacop::Node (class)">Node</a></span></h3>
126
- <p class="inherited"><span class='object_link'><a href="Node.html#build-class_method" title="Schemacop::Node.build (method)">build</a></span>, <span class='object_link'><a href="Node.html#class_matches%3F-class_method" title="Schemacop::Node.class_matches? (method)">class_matches?</a></span>, <span class='object_link'><a href="Node.html#clear_klasses-class_method" title="Schemacop::Node.clear_klasses (method)">clear_klasses</a></span>, <span class='object_link'><a href="Node.html#clear_symbols-class_method" title="Schemacop::Node.clear_symbols (method)">clear_symbols</a></span>, <span class='object_link'><a href="Node.html#exec_block-instance_method" title="Schemacop::Node#exec_block (method)">#exec_block</a></span>, <span class='object_link'><a href="Node.html#initialize-instance_method" title="Schemacop::Node#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Node.html#klass-class_method" title="Schemacop::Node.klass (method)">klass</a></span>, <span class='object_link'><a href="Node.html#option-class_method" title="Schemacop::Node.option (method)">option</a></span>, <span class='object_link'><a href="Node.html#option-instance_method" title="Schemacop::Node#option (method)">#option</a></span>, <span class='object_link'><a href="Node.html#option%3F-instance_method" title="Schemacop::Node#option? (method)">#option?</a></span>, <span class='object_link'><a href="Node.html#register-class_method" title="Schemacop::Node.register (method)">register</a></span>, <span class='object_link'><a href="Node.html#resolve_type_klass-instance_method" title="Schemacop::Node#resolve_type_klass (method)">#resolve_type_klass</a></span>, <span class='object_link'><a href="Node.html#symbol-class_method" title="Schemacop::Node.symbol (method)">symbol</a></span>, <span class='object_link'><a href="Node.html#symbol_matches%3F-class_method" title="Schemacop::Node.symbol_matches? (method)">symbol_matches?</a></span>, <span class='object_link'><a href="Node.html#type_filter_matches%3F-instance_method" title="Schemacop::Node#type_filter_matches? (method)">#type_filter_matches?</a></span>, <span class='object_link'><a href="Node.html#type_label-instance_method" title="Schemacop::Node#type_label (method)">#type_label</a></span>, <span class='object_link'><a href="Node.html#type_matches%3F-class_method" title="Schemacop::Node.type_matches? (method)">type_matches?</a></span>, <span class='object_link'><a href="Node.html#type_matches%3F-instance_method" title="Schemacop::Node#type_matches? (method)">#type_matches?</a></span>, <span class='object_link'><a href="Node.html#validate-instance_method" title="Schemacop::Node#validate (method)">#validate</a></span></p>
126
+ <p class="inherited"><span class='object_link'><a href="Node.html#build-class_method" title="Schemacop::Node.build (method)">build</a></span>, <span class='object_link'><a href="Node.html#class_matches%3F-class_method" title="Schemacop::Node.class_matches? (method)">class_matches?</a></span>, <span class='object_link'><a href="Node.html#clear_klasses-class_method" title="Schemacop::Node.clear_klasses (method)">clear_klasses</a></span>, <span class='object_link'><a href="Node.html#clear_symbols-class_method" title="Schemacop::Node.clear_symbols (method)">clear_symbols</a></span>, <span class='object_link'><a href="Node.html#exec_block-instance_method" title="Schemacop::Node#exec_block (method)">#exec_block</a></span>, <span class='object_link'><a href="Node.html#initialize-instance_method" title="Schemacop::Node#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Node.html#klass-class_method" title="Schemacop::Node.klass (method)">klass</a></span>, <span class='object_link'><a href="Node.html#option-class_method" title="Schemacop::Node.option (method)">option</a></span>, <span class='object_link'><a href="Node.html#option-instance_method" title="Schemacop::Node#option (method)">#option</a></span>, <span class='object_link'><a href="Node.html#option%3F-instance_method" title="Schemacop::Node#option? (method)">#option?</a></span>, <span class='object_link'><a href="Node.html#register-class_method" title="Schemacop::Node.register (method)">register</a></span>, <span class='object_link'><a href="Node.html#resolve_type_klass-instance_method" title="Schemacop::Node#resolve_type_klass (method)">#resolve_type_klass</a></span>, <span class='object_link'><a href="Node.html#symbol-class_method" title="Schemacop::Node.symbol (method)">symbol</a></span>, <span class='object_link'><a href="Node.html#symbol_matches%3F-class_method" title="Schemacop::Node.symbol_matches? (method)">symbol_matches?</a></span>, <span class='object_link'><a href="Node.html#type_filter_matches%3F-instance_method" title="Schemacop::Node#type_filter_matches? (method)">#type_filter_matches?</a></span>, <span class='object_link'><a href="Node.html#type_label-instance_method" title="Schemacop::Node#type_label (method)">#type_label</a></span>, <span class='object_link'><a href="Node.html#type_matches%3F-instance_method" title="Schemacop::Node#type_matches? (method)">#type_matches?</a></span>, <span class='object_link'><a href="Node.html#type_matches%3F-class_method" title="Schemacop::Node.type_matches? (method)">type_matches?</a></span>, <span class='object_link'><a href="Node.html#validate-instance_method" title="Schemacop::Node#validate (method)">#validate</a></span></p>
127
127
  <div id="constructor_details" class="method_details_list">
128
128
  <h2>Constructor Details</h2>
129
129
 
@@ -135,9 +135,9 @@
135
135
  </div>
136
136
 
137
137
  <div id="footer">
138
- Generated on Thu May 18 13:17:23 2017 by
138
+ Generated on Tue Nov 5 11:16:28 2019 by
139
139
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
140
- 0.9.9 (ruby-2.3.1).
140
+ 0.9.20 (ruby-2.6.2).
141
141
  </div>
142
142
 
143
143
  </div>
@@ -0,0 +1,379 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Schemacop::Caster
8
+
9
+ &mdash; Documentation by YARD 0.9.20
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Schemacop::Caster";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Schemacop.html" title="Schemacop (module)">Schemacop</a></span></span>
41
+ &raquo;
42
+ <span class="title">Caster</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Schemacop::Caster
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Schemacop::Caster</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/schemacop/caster.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ <h2>
111
+ Instance Method Summary
112
+ <small><a href="#" class="summary_toggle">collapse</a></small>
113
+ </h2>
114
+
115
+ <ul class="summary">
116
+
117
+ <li class="public ">
118
+ <span class="summary_signature">
119
+
120
+ <a href="#cast-instance_method" title="#cast (instance method)">#<strong>cast</strong> &#x21d2; Object </a>
121
+
122
+
123
+
124
+ </span>
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+ <span class="summary_desc"><div class='inline'></div></span>
135
+
136
+ </li>
137
+
138
+
139
+ <li class="public ">
140
+ <span class="summary_signature">
141
+
142
+ <a href="#castable%3F-instance_method" title="#castable? (instance method)">#<strong>castable?</strong> &#x21d2; Boolean </a>
143
+
144
+
145
+
146
+ </span>
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+ <span class="summary_desc"><div class='inline'></div></span>
157
+
158
+ </li>
159
+
160
+
161
+ <li class="public ">
162
+ <span class="summary_signature">
163
+
164
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(casts, data, target_type) &#x21d2; Caster </a>
165
+
166
+
167
+
168
+ </span>
169
+
170
+
171
+ <span class="note title constructor">constructor</span>
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+ <span class="summary_desc"><div class='inline'><p>A new instance of Caster.</p>
181
+ </div></span>
182
+
183
+ </li>
184
+
185
+
186
+ </ul>
187
+
188
+
189
+ <div id="constructor_details" class="method_details_list">
190
+ <h2>Constructor Details</h2>
191
+
192
+ <div class="method_details first">
193
+ <h3 class="signature first" id="initialize-instance_method">
194
+
195
+ #<strong>initialize</strong>(casts, data, target_type) &#x21d2; <tt><span class='object_link'><a href="" title="Schemacop::Caster (class)">Caster</a></span></tt>
196
+
197
+
198
+
199
+
200
+
201
+ </h3><div class="docstring">
202
+ <div class="discussion">
203
+ <p>Returns a new instance of Caster</p>
204
+
205
+
206
+ </div>
207
+ </div>
208
+ <div class="tags">
209
+
210
+
211
+ </div><table class="source_code">
212
+ <tr>
213
+ <td>
214
+ <pre class="lines">
215
+
216
+
217
+ 3
218
+ 4
219
+ 5
220
+ 6
221
+ 7
222
+ 8
223
+ 9
224
+ 10
225
+ 11
226
+ 12
227
+ 13
228
+ 14
229
+ 15
230
+ 16
231
+ 17
232
+ 18
233
+ 19
234
+ 20
235
+ 21
236
+ 22
237
+ 23
238
+ 24</pre>
239
+ </td>
240
+ <td>
241
+ <pre class="code"><span class="info file"># File 'lib/schemacop/caster.rb', line 3</span>
242
+
243
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_casts'>casts</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_target_type'>target_type</span><span class='rparen'>)</span>
244
+ <span class='ivar'>@casts</span> <span class='op'>=</span> <span class='id identifier rubyid_casts'>casts</span>
245
+ <span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
246
+ <span class='ivar'>@target_type</span> <span class='op'>=</span> <span class='id identifier rubyid_target_type'>target_type</span>
247
+ <span class='ivar'>@caster</span> <span class='op'>=</span> <span class='kw'>nil</span>
248
+
249
+ <span class='kw'>if</span> <span class='id identifier rubyid_casts'>casts</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span>
250
+ <span class='id identifier rubyid_from_types'>from_types</span> <span class='op'>=</span> <span class='id identifier rubyid_casts'>casts</span>
251
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_casts'>casts</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
252
+ <span class='id identifier rubyid_from_types'>from_types</span> <span class='op'>=</span> <span class='id identifier rubyid_casts'>casts</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span>
253
+ <span class='kw'>else</span>
254
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="Exceptions.html" title="Schemacop::Exceptions (module)">Exceptions</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Exceptions/InvalidSchemaError.html" title="Schemacop::Exceptions::InvalidSchemaError (class)">InvalidSchemaError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Option `cast` must be either an array or a hash.</span><span class='tstring_end'>&#39;</span></span>
255
+ <span class='kw'>end</span>
256
+
257
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_from_types'>from_types</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rparen'>)</span>
258
+
259
+ <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_casts'>casts</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_casts'>casts</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_casts'>casts</span><span class='lbracket'>[</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:default</span>
260
+ <span class='ivar'>@caster</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Schemacop.html#DEFAULT_CASTERS-constant" title="Schemacop::DEFAULT_CASTERS (constant)">DEFAULT_CASTERS</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_target_type'>target_type</span><span class='rbracket'>]</span>
261
+ <span class='kw'>else</span>
262
+ <span class='ivar'>@caster</span> <span class='op'>=</span> <span class='id identifier rubyid_casts'>casts</span><span class='lbracket'>[</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rbracket'>]</span>
263
+ <span class='kw'>end</span>
264
+ <span class='kw'>end</span></pre>
265
+ </td>
266
+ </tr>
267
+ </table>
268
+ </div>
269
+
270
+ </div>
271
+
272
+
273
+ <div id="instance_method_details" class="method_details_list">
274
+ <h2>Instance Method Details</h2>
275
+
276
+
277
+ <div class="method_details first">
278
+ <h3 class="signature first" id="cast-instance_method">
279
+
280
+ #<strong>cast</strong> &#x21d2; <tt>Object</tt>
281
+
282
+
283
+
284
+
285
+
286
+ </h3><table class="source_code">
287
+ <tr>
288
+ <td>
289
+ <pre class="lines">
290
+
291
+
292
+ 30
293
+ 31
294
+ 32
295
+ 33
296
+ 34
297
+ 35
298
+ 36</pre>
299
+ </td>
300
+ <td>
301
+ <pre class="code"><span class="info file"># File 'lib/schemacop/caster.rb', line 30</span>
302
+
303
+ <span class='kw'>def</span> <span class='id identifier rubyid_cast'>cast</span>
304
+ <span class='id identifier rubyid_fail'>fail</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Not castable.</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_castable?'>castable?</span>
305
+ <span class='kw'>return</span> <span class='ivar'>@caster</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='ivar'>@data</span><span class='rparen'>)</span>
306
+ <span class='kw'>rescue</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
307
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="Exceptions.html" title="Schemacop::Exceptions (module)">Exceptions</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Exceptions/InvalidSchemaError.html" title="Schemacop::Exceptions::InvalidSchemaError (class)">InvalidSchemaError</a></span></span><span class='comma'>,</span>
308
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not cast value </span><span class='embexpr_beg'>#{</span><span class='ivar'>@value</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> to </span><span class='embexpr_beg'>#{</span><span class='ivar'>@target_type</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span>
309
+ <span class='kw'>end</span></pre>
310
+ </td>
311
+ </tr>
312
+ </table>
313
+ </div>
314
+
315
+ <div class="method_details ">
316
+ <h3 class="signature " id="castable?-instance_method">
317
+
318
+ #<strong>castable?</strong> &#x21d2; <tt>Boolean</tt>
319
+
320
+
321
+
322
+
323
+
324
+ </h3><div class="docstring">
325
+ <div class="discussion">
326
+
327
+
328
+ </div>
329
+ </div>
330
+ <div class="tags">
331
+
332
+ <p class="tag_title">Returns:</p>
333
+ <ul class="return">
334
+
335
+ <li>
336
+
337
+
338
+ <span class='type'>(<tt>Boolean</tt>)</span>
339
+
340
+
341
+
342
+ </li>
343
+
344
+ </ul>
345
+
346
+ </div><table class="source_code">
347
+ <tr>
348
+ <td>
349
+ <pre class="lines">
350
+
351
+
352
+ 26
353
+ 27
354
+ 28</pre>
355
+ </td>
356
+ <td>
357
+ <pre class="code"><span class="info file"># File 'lib/schemacop/caster.rb', line 26</span>
358
+
359
+ <span class='kw'>def</span> <span class='id identifier rubyid_castable?'>castable?</span>
360
+ <span class='op'>!</span><span class='ivar'>@caster</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
361
+ <span class='kw'>end</span></pre>
362
+ </td>
363
+ </tr>
364
+ </table>
365
+ </div>
366
+
367
+ </div>
368
+
369
+ </div>
370
+
371
+ <div id="footer">
372
+ Generated on Tue Nov 5 11:16:28 2019 by
373
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
374
+ 0.9.20 (ruby-2.6.2).
375
+ </div>
376
+
377
+ </div>
378
+ </body>
379
+ </html>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Schemacop::Collector
8
8
 
9
- &mdash; Documentation by YARD 0.9.9
9
+ &mdash; Documentation by YARD 0.9.20
10
10
 
11
11
  </title>
12
12
 
@@ -109,7 +109,7 @@
109
109
  <li class="public ">
110
110
  <span class="summary_signature">
111
111
 
112
- <a href="#current_path-instance_method" title="#current_path (instance method)">#<strong>current_path</strong> &#x21d2; Object </a>
112
+ <a href="#exceptions-instance_method" title="#exceptions (instance method)">#<strong>exceptions</strong> &#x21d2; Object </a>
113
113
 
114
114
 
115
115
 
@@ -128,16 +128,29 @@
128
128
 
129
129
 
130
130
 
131
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute current_path.</p>
131
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute exceptions.</p>
132
132
  </div></span>
133
133
 
134
134
  </li>
135
135
 
136
136
 
137
- <li class="public ">
137
+ </ul>
138
+
139
+
140
+
141
+
142
+
143
+ <h2>
144
+ Instance Method Summary
145
+ <small><a href="#" class="summary_toggle">collapse</a></small>
146
+ </h2>
147
+
148
+ <ul class="summary">
149
+
150
+ <li class="public ">
138
151
  <span class="summary_signature">
139
152
 
140
- <a href="#exceptions-instance_method" title="#exceptions (instance method)">#<strong>exceptions</strong> &#x21d2; Object </a>
153
+ <a href="#data-instance_method" title="#data (instance method)">#<strong>data</strong> &#x21d2; Object </a>
141
154
 
142
155
 
143
156
 
@@ -145,35 +158,16 @@
145
158
 
146
159
 
147
160
 
148
-
149
- <span class="note title readonly">readonly</span>
150
-
151
-
152
-
153
161
 
154
162
 
155
163
 
156
164
 
157
165
 
158
166
 
159
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute exceptions.</p>
160
- </div></span>
167
+ <span class="summary_desc"><div class='inline'></div></span>
161
168
 
162
169
  </li>
163
170
 
164
-
165
- </ul>
166
-
167
-
168
-
169
-
170
-
171
- <h2>
172
- Instance Method Summary
173
- <small><a href="#" class="summary_toggle">collapse</a></small>
174
- </h2>
175
-
176
- <ul class="summary">
177
171
 
178
172
  <li class="public ">
179
173
  <span class="summary_signature">
@@ -245,7 +239,7 @@
245
239
  <li class="public ">
246
240
  <span class="summary_signature">
247
241
 
248
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> &#x21d2; Collector </a>
242
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(data) &#x21d2; Collector </a>
249
243
 
250
244
 
251
245
 
@@ -270,7 +264,29 @@
270
264
  <li class="public ">
271
265
  <span class="summary_signature">
272
266
 
273
- <a href="#path-instance_method" title="#path (instance method)">#<strong>path</strong>(segment) &#x21d2; Object </a>
267
+ <a href="#override_value-instance_method" title="#override_value (instance method)">#<strong>override_value</strong>(value) &#x21d2; Object </a>
268
+
269
+
270
+
271
+ </span>
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+ <span class="summary_desc"><div class='inline'></div></span>
282
+
283
+ </li>
284
+
285
+
286
+ <li class="public ">
287
+ <span class="summary_signature">
288
+
289
+ <a href="#path-instance_method" title="#path (instance method)">#<strong>path</strong>(segment, index, type) &#x21d2; Object </a>
274
290
 
275
291
 
276
292
 
@@ -321,7 +337,7 @@
321
337
  <div class="method_details first">
322
338
  <h3 class="signature first" id="initialize-instance_method">
323
339
 
324
- #<strong>initialize</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Schemacop::Collector (class)">Collector</a></span></tt>
340
+ #<strong>initialize</strong>(data) &#x21d2; <tt><span class='object_link'><a href="" title="Schemacop::Collector (class)">Collector</a></span></tt>
325
341
 
326
342
 
327
343
 
@@ -343,19 +359,23 @@
343
359
  <pre class="lines">
344
360
 
345
361
 
362
+ 5
346
363
  6
347
364
  7
348
365
  8
349
366
  9
350
- 10</pre>
367
+ 10
368
+ 11</pre>
351
369
  </td>
352
370
  <td>
353
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 6</span>
371
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 5</span>
354
372
 
355
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
373
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
356
374
  <span class='ivar'>@exceptions</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
357
375
  <span class='ivar'>@current_path</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
358
376
  <span class='ivar'>@ignore_next_segment</span> <span class='op'>=</span> <span class='kw'>false</span>
377
+ <span class='ivar'>@current_datappoint_path</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_data'>data</span><span class='rbracket'>]</span>
378
+ <span class='ivar'>@current_index</span> <span class='op'>=</span> <span class='kw'>nil</span>
359
379
  <span class='kw'>end</span></pre>
360
380
  </td>
361
381
  </tr>
@@ -370,9 +390,9 @@
370
390
 
371
391
  <span id=""></span>
372
392
  <div class="method_details first">
373
- <h3 class="signature first" id="current_path-instance_method">
393
+ <h3 class="signature first" id="exceptions-instance_method">
374
394
 
375
- #<strong>current_path</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
395
+ #<strong>exceptions</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
376
396
 
377
397
 
378
398
 
@@ -380,7 +400,7 @@
380
400
 
381
401
  </h3><div class="docstring">
382
402
  <div class="discussion">
383
- <p>Returns the value of attribute current_path</p>
403
+ <p>Returns the value of attribute exceptions</p>
384
404
 
385
405
 
386
406
  </div>
@@ -401,65 +421,55 @@
401
421
  <td>
402
422
  <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 3</span>
403
423
 
404
- <span class='kw'>def</span> <span class='id identifier rubyid_current_path'>current_path</span>
405
- <span class='ivar'>@current_path</span>
424
+ <span class='kw'>def</span> <span class='id identifier rubyid_exceptions'>exceptions</span>
425
+ <span class='ivar'>@exceptions</span>
406
426
  <span class='kw'>end</span></pre>
407
427
  </td>
408
428
  </tr>
409
429
  </table>
410
430
  </div>
411
431
 
412
-
413
- <span id=""></span>
414
- <div class="method_details ">
415
- <h3 class="signature " id="exceptions-instance_method">
416
-
417
- #<strong>exceptions</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
418
-
432
+ </div>
419
433
 
420
-
421
434
 
422
-
423
- </h3><div class="docstring">
424
- <div class="discussion">
425
- <p>Returns the value of attribute exceptions</p>
435
+ <div id="instance_method_details" class="method_details_list">
436
+ <h2>Instance Method Details</h2>
426
437
 
438
+
439
+ <div class="method_details first">
440
+ <h3 class="signature first" id="data-instance_method">
441
+
442
+ #<strong>data</strong> &#x21d2; <tt>Object</tt>
443
+
427
444
 
428
- </div>
429
- </div>
430
- <div class="tags">
431
445
 
432
446
 
433
- </div><table class="source_code">
447
+
448
+ </h3><table class="source_code">
434
449
  <tr>
435
450
  <td>
436
451
  <pre class="lines">
437
452
 
438
453
 
439
- 4
440
- 5
441
- 6</pre>
454
+ 13
455
+ 14
456
+ 15
457
+ 16</pre>
442
458
  </td>
443
459
  <td>
444
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 4</span>
460
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 13</span>
445
461
 
446
- <span class='kw'>def</span> <span class='id identifier rubyid_exceptions'>exceptions</span>
447
- <span class='ivar'>@exceptions</span>
462
+ <span class='kw'>def</span> <span class='id identifier rubyid_data'>data</span>
463
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_valid?'>valid?</span>
464
+ <span class='ivar'>@current_datappoint_path</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
448
465
  <span class='kw'>end</span></pre>
449
466
  </td>
450
467
  </tr>
451
468
  </table>
452
469
  </div>
453
470
 
454
- </div>
455
-
456
-
457
- <div id="instance_method_details" class="method_details_list">
458
- <h2>Instance Method Details</h2>
459
-
460
-
461
- <div class="method_details first">
462
- <h3 class="signature first" id="error-instance_method">
471
+ <div class="method_details ">
472
+ <h3 class="signature " id="error-instance_method">
463
473
 
464
474
  #<strong>error</strong>(error_msg) &#x21d2; <tt>Object</tt>
465
475
 
@@ -473,19 +483,19 @@
473
483
  <pre class="lines">
474
484
 
475
485
 
476
- 37
477
- 38
478
- 39
479
- 40
480
- 41
481
- 42</pre>
486
+ 65
487
+ 66
488
+ 67
489
+ 68
490
+ 69
491
+ 70</pre>
482
492
  </td>
483
493
  <td>
484
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 37</span>
494
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 65</span>
485
495
 
486
496
  <span class='kw'>def</span> <span class='id identifier rubyid_error'>error</span><span class='lparen'>(</span><span class='id identifier rubyid_error_msg'>error_msg</span><span class='rparen'>)</span>
487
497
  <span class='ivar'>@exceptions</span> <span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span>
488
- <span class='label'>path:</span> <span class='id identifier rubyid_current_path'>current_path</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='comma'>,</span>
498
+ <span class='label'>path:</span> <span class='ivar'>@current_path</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='comma'>,</span>
489
499
  <span class='label'>message:</span> <span class='id identifier rubyid_error_msg'>error_msg</span>
490
500
  <span class='rbrace'>}</span>
491
501
  <span class='kw'>end</span></pre>
@@ -509,14 +519,14 @@
509
519
  <pre class="lines">
510
520
 
511
521
 
512
- 31
513
- 32
514
- 33
515
- 34
516
- 35</pre>
522
+ 59
523
+ 60
524
+ 61
525
+ 62
526
+ 63</pre>
517
527
  </td>
518
528
  <td>
519
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 31</span>
529
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 59</span>
520
530
 
521
531
  <span class='kw'>def</span> <span class='id identifier rubyid_exception_message'>exception_message</span>
522
532
  <span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Schemacop validation failed:\n</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='ivar'>@exceptions</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span>
@@ -567,13 +577,13 @@ called.</p>
567
577
  <pre class="lines">
568
578
 
569
579
 
570
- 48
571
- 49
572
- 50
573
- 51</pre>
580
+ 76
581
+ 77
582
+ 78
583
+ 79</pre>
574
584
  </td>
575
585
  <td>
576
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 48</span>
586
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 76</span>
577
587
 
578
588
  <span class='kw'>def</span> <span class='id identifier rubyid_ignore_next_segment'>ignore_next_segment</span>
579
589
  <span class='ivar'>@ignore_next_segment</span> <span class='op'>=</span> <span class='kw'>true</span>
@@ -582,12 +592,50 @@ called.</p>
582
592
  </td>
583
593
  </tr>
584
594
  </table>
595
+ </div>
596
+
597
+ <div class="method_details ">
598
+ <h3 class="signature " id="override_value-instance_method">
599
+
600
+ #<strong>override_value</strong>(value) &#x21d2; <tt>Object</tt>
601
+
602
+
603
+
604
+
605
+
606
+ </h3><table class="source_code">
607
+ <tr>
608
+ <td>
609
+ <pre class="lines">
610
+
611
+
612
+ 51
613
+ 52
614
+ 53
615
+ 54
616
+ 55
617
+ 56
618
+ 57</pre>
619
+ </td>
620
+ <td>
621
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 51</span>
622
+
623
+ <span class='kw'>def</span> <span class='id identifier rubyid_override_value'>override_value</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
624
+ <span class='kw'>if</span> <span class='ivar'>@current_datappoint_path</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>&gt;</span> <span class='int'>1</span>
625
+ <span class='ivar'>@current_datappoint_path</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='ivar'>@current_index</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
626
+ <span class='kw'>else</span>
627
+ <span class='ivar'>@current_datappoint_path</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
628
+ <span class='kw'>end</span>
629
+ <span class='kw'>end</span></pre>
630
+ </td>
631
+ </tr>
632
+ </table>
585
633
  </div>
586
634
 
587
635
  <div class="method_details ">
588
636
  <h3 class="signature " id="path-instance_method">
589
637
 
590
- #<strong>path</strong>(segment) &#x21d2; <tt>Object</tt>
638
+ #<strong>path</strong>(segment, index, type) &#x21d2; <tt>Object</tt>
591
639
 
592
640
 
593
641
 
@@ -609,34 +657,62 @@ called.</p>
609
657
  <pre class="lines">
610
658
 
611
659
 
612
- 17
613
- 18
614
- 19
615
- 20
616
- 21
617
- 22
618
660
  23
619
661
  24
620
662
  25
621
663
  26
622
664
  27
623
665
  28
624
- 29</pre>
666
+ 29
667
+ 30
668
+ 31
669
+ 32
670
+ 33
671
+ 34
672
+ 35
673
+ 36
674
+ 37
675
+ 38
676
+ 39
677
+ 40
678
+ 41
679
+ 42
680
+ 43
681
+ 44
682
+ 45
683
+ 46
684
+ 47
685
+ 48
686
+ 49</pre>
625
687
  </td>
626
688
  <td>
627
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 17</span>
689
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 23</span>
628
690
 
629
- <span class='kw'>def</span> <span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='id identifier rubyid_segment'>segment</span><span class='rparen'>)</span>
691
+ <span class='kw'>def</span> <span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='id identifier rubyid_segment'>segment</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
630
692
  <span class='id identifier rubyid_ignore_this_segment'>ignore_this_segment</span> <span class='op'>=</span> <span class='kw'>false</span>
693
+
694
+ <span class='id identifier rubyid_previous_index'>previous_index</span> <span class='op'>=</span> <span class='ivar'>@current_index</span>
695
+
631
696
  <span class='kw'>if</span> <span class='ivar'>@ignore_next_segment</span>
632
697
  <span class='id identifier rubyid_ignore_this_segment'>ignore_this_segment</span> <span class='op'>=</span> <span class='kw'>true</span>
633
698
  <span class='ivar'>@ignore_next_segment</span> <span class='op'>=</span> <span class='kw'>false</span>
699
+ <span class='kw'>else</span>
700
+ <span class='kw'>unless</span> <span class='ivar'>@current_datappoint_path</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
701
+ <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:hash</span>
702
+ <span class='ivar'>@current_datappoint_path</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
703
+ <span class='kw'>else</span>
704
+ <span class='ivar'>@current_datappoint_path</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
705
+ <span class='kw'>end</span>
706
+ <span class='kw'>end</span>
707
+ <span class='ivar'>@current_path</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_segment'>segment</span> <span class='kw'>unless</span> <span class='id identifier rubyid_ignore_this_segment'>ignore_this_segment</span>
708
+ <span class='ivar'>@current_datappoint_path</span> <span class='op'>&lt;&lt;</span> <span class='ivar'>@current_datappoint_path</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span>
709
+ <span class='ivar'>@current_index</span> <span class='op'>=</span> <span class='id identifier rubyid_index'>index</span>
634
710
  <span class='kw'>end</span>
635
711
 
636
- <span class='ivar'>@current_path</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_segment'>segment</span> <span class='kw'>unless</span> <span class='id identifier rubyid_ignore_this_segment'>ignore_this_segment</span>
637
-
638
712
  <span class='kw'>yield</span>
639
713
  <span class='kw'>ensure</span>
714
+ <span class='ivar'>@current_index</span> <span class='op'>=</span> <span class='id identifier rubyid_previous_index'>previous_index</span>
715
+ <span class='ivar'>@current_datappoint_path</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span> <span class='kw'>unless</span> <span class='id identifier rubyid_ignore_this_segment'>ignore_this_segment</span>
640
716
  <span class='ivar'>@current_path</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span> <span class='kw'>unless</span> <span class='id identifier rubyid_ignore_this_segment'>ignore_this_segment</span>
641
717
  <span class='kw'>end</span></pre>
642
718
  </td>
@@ -681,12 +757,12 @@ called.</p>
681
757
  <pre class="lines">
682
758
 
683
759
 
684
- 12
685
- 13
686
- 14</pre>
760
+ 18
761
+ 19
762
+ 20</pre>
687
763
  </td>
688
764
  <td>
689
- <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 12</span>
765
+ <pre class="code"><span class="info file"># File 'lib/schemacop/collector.rb', line 18</span>
690
766
 
691
767
  <span class='kw'>def</span> <span class='id identifier rubyid_valid?'>valid?</span>
692
768
  <span class='ivar'>@exceptions</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
@@ -701,9 +777,9 @@ called.</p>
701
777
  </div>
702
778
 
703
779
  <div id="footer">
704
- Generated on Thu May 18 13:17:23 2017 by
780
+ Generated on Tue Nov 5 11:16:28 2019 by
705
781
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
706
- 0.9.9 (ruby-2.3.1).
782
+ 0.9.20 (ruby-2.6.2).
707
783
  </div>
708
784
 
709
785
  </div>