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
@@ -120,6 +120,49 @@ function summaryToggle() {
120
120
  } else { localStorage.summaryCollapsed = "expand"; }
121
121
  }
122
122
 
123
+ function constantSummaryToggle() {
124
+ $('.constants_summary_toggle').click(function(e) {
125
+ e.preventDefault();
126
+ localStorage.summaryCollapsed = $(this).text();
127
+ $('.constants_summary_toggle').each(function() {
128
+ $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
129
+ var next = $(this).parent().parent().nextAll('dl.constants').first();
130
+ if (next.hasClass('compact')) {
131
+ next.toggle();
132
+ next.nextAll('dl.constants').first().toggle();
133
+ }
134
+ else if (next.hasClass('constants')) {
135
+ var list = $('<dl class="constants compact" />');
136
+ list.html(next.html());
137
+ list.find('dt').each(function() {
138
+ $(this).addClass('summary_signature');
139
+ $(this).text( $(this).text().split('=')[0]);
140
+ if ($(this).has(".deprecated").length) {
141
+ $(this).addClass('deprecated');
142
+ };
143
+ });
144
+ // Add the value of the constant as "Tooltip" to the summary object
145
+ list.find('pre.code').each(function() {
146
+ console.log($(this).parent());
147
+ var dt_element = $(this).parent().prev();
148
+ var tooltip = $(this).text();
149
+ if (dt_element.hasClass("deprecated")) {
150
+ tooltip = 'Deprecated. ' + tooltip;
151
+ };
152
+ dt_element.attr('title', tooltip);
153
+ });
154
+ list.find('.docstring, .tags, dd').remove();
155
+ next.before(list);
156
+ next.toggle();
157
+ }
158
+ });
159
+ return false;
160
+ });
161
+ if (localStorage.summaryCollapsed == "collapse") {
162
+ $('.constants_summary_toggle').first().click();
163
+ } else { localStorage.summaryCollapsed = "expand"; }
164
+ }
165
+
123
166
  function generateTOC() {
124
167
  if ($('#filecontents').length === 0) return;
125
168
  var _toc = $('<ol class="top"></ol>');
@@ -232,6 +275,16 @@ function mainFocus() {
232
275
  setTimeout(function() { $('#main').focus(); }, 10);
233
276
  }
234
277
 
278
+ function navigationChange() {
279
+ // This works around the broken anchor navigation with the YARD template.
280
+ window.onpopstate = function() {
281
+ var hash = window.location.hash;
282
+ if (hash !== '' && $(hash)[0]) {
283
+ $(hash)[0].scrollIntoView();
284
+ }
285
+ };
286
+ }
287
+
235
288
  $(document).ready(function() {
236
289
  navResizer();
237
290
  navExpander();
@@ -241,8 +294,10 @@ $(document).ready(function() {
241
294
  searchFrameButtons();
242
295
  linkSummaries();
243
296
  summaryToggle();
297
+ constantSummaryToggle();
244
298
  generateTOC();
245
299
  mainFocus();
300
+ navigationChange();
246
301
  });
247
302
 
248
303
  })();
@@ -68,6 +68,22 @@
68
68
  </li>
69
69
 
70
70
 
71
+ <li class="even ">
72
+ <div class="item">
73
+ <span class='object_link'><a href="Schemacop/Caster.html#cast-instance_method" title="Schemacop::Caster#cast (method)">#cast</a></span>
74
+ <small>Schemacop::Caster</small>
75
+ </div>
76
+ </li>
77
+
78
+
79
+ <li class="odd ">
80
+ <div class="item">
81
+ <span class='object_link'><a href="Schemacop/Caster.html#castable%3F-instance_method" title="Schemacop::Caster#castable? (method)">#castable?</a></span>
82
+ <small>Schemacop::Caster</small>
83
+ </div>
84
+ </li>
85
+
86
+
71
87
  <li class="even ">
72
88
  <div class="item">
73
89
  <span class='object_link'><a href="Schemacop/Node.html#class_matches%3F-class_method" title="Schemacop::Node.class_matches? (method)">class_matches?</a></span>
@@ -94,7 +110,7 @@
94
110
 
95
111
  <li class="odd ">
96
112
  <div class="item">
97
- <span class='object_link'><a href="Schemacop/Collector.html#current_path-instance_method" title="Schemacop::Collector#current_path (method)">#current_path</a></span>
113
+ <span class='object_link'><a href="Schemacop/Collector.html#data-instance_method" title="Schemacop::Collector#data (method)">#data</a></span>
98
114
  <small>Schemacop::Collector</small>
99
115
  </div>
100
116
  </li>
@@ -126,8 +142,8 @@
126
142
 
127
143
  <li class="odd ">
128
144
  <div class="item">
129
- <span class='object_link'><a href="Schemacop/Node.html#exec_block-instance_method" title="Schemacop::Node#exec_block (method)">#exec_block</a></span>
130
- <small>Schemacop::Node</small>
145
+ <span class='object_link'><a href="Schemacop/NodeSupportingType.html#exec_block-instance_method" title="Schemacop::NodeSupportingType#exec_block (method)">#exec_block</a></span>
146
+ <small>Schemacop::NodeSupportingType</small>
131
147
  </div>
132
148
  </li>
133
149
 
@@ -142,8 +158,8 @@
142
158
 
143
159
  <li class="odd ">
144
160
  <div class="item">
145
- <span class='object_link'><a href="Schemacop/NodeSupportingType.html#exec_block-instance_method" title="Schemacop::NodeSupportingType#exec_block (method)">#exec_block</a></span>
146
- <small>Schemacop::NodeSupportingType</small>
161
+ <span class='object_link'><a href="Schemacop/Node.html#exec_block-instance_method" title="Schemacop::Node#exec_block (method)">#exec_block</a></span>
162
+ <small>Schemacop::Node</small>
147
163
  </div>
148
164
  </li>
149
165
 
@@ -166,48 +182,48 @@
166
182
 
167
183
  <li class="even ">
168
184
  <div class="item">
169
- <span class='object_link'><a href="Schemacop/Node.html#initialize-instance_method" title="Schemacop::Node#initialize (method)">#initialize</a></span>
170
- <small>Schemacop::Node</small>
185
+ <span class='object_link'><a href="Schemacop/Schema.html#initialize-instance_method" title="Schemacop::Schema#initialize (method)">#initialize</a></span>
186
+ <small>Schemacop::Schema</small>
171
187
  </div>
172
188
  </li>
173
189
 
174
190
 
175
191
  <li class="odd ">
176
192
  <div class="item">
177
- <span class='object_link'><a href="Schemacop/Schema.html#initialize-instance_method" title="Schemacop::Schema#initialize (method)">#initialize</a></span>
178
- <small>Schemacop::Schema</small>
193
+ <span class='object_link'><a href="Schemacop/NodeSupportingType.html#initialize-instance_method" title="Schemacop::NodeSupportingType#initialize (method)">#initialize</a></span>
194
+ <small>Schemacop::NodeSupportingType</small>
179
195
  </div>
180
196
  </li>
181
197
 
182
198
 
183
199
  <li class="even ">
184
200
  <div class="item">
185
- <span class='object_link'><a href="Schemacop/Collector.html#initialize-instance_method" title="Schemacop::Collector#initialize (method)">#initialize</a></span>
186
- <small>Schemacop::Collector</small>
201
+ <span class='object_link'><a href="Schemacop/Node.html#initialize-instance_method" title="Schemacop::Node#initialize (method)">#initialize</a></span>
202
+ <small>Schemacop::Node</small>
187
203
  </div>
188
204
  </li>
189
205
 
190
206
 
191
207
  <li class="odd ">
192
208
  <div class="item">
193
- <span class='object_link'><a href="Schemacop/FieldNode.html#initialize-instance_method" title="Schemacop::FieldNode#initialize (method)">#initialize</a></span>
194
- <small>Schemacop::FieldNode</small>
209
+ <span class='object_link'><a href="ScopedEnv.html#initialize-instance_method" title="ScopedEnv#initialize (method)">#initialize</a></span>
210
+ <small>ScopedEnv</small>
195
211
  </div>
196
212
  </li>
197
213
 
198
214
 
199
215
  <li class="even ">
200
216
  <div class="item">
201
- <span class='object_link'><a href="ScopedEnv.html#initialize-instance_method" title="ScopedEnv#initialize (method)">#initialize</a></span>
202
- <small>ScopedEnv</small>
217
+ <span class='object_link'><a href="Schemacop/FieldNode.html#initialize-instance_method" title="Schemacop::FieldNode#initialize (method)">#initialize</a></span>
218
+ <small>Schemacop::FieldNode</small>
203
219
  </div>
204
220
  </li>
205
221
 
206
222
 
207
223
  <li class="odd ">
208
224
  <div class="item">
209
- <span class='object_link'><a href="Schemacop/NodeSupportingType.html#initialize-instance_method" title="Schemacop::NodeSupportingType#initialize (method)">#initialize</a></span>
210
- <small>Schemacop::NodeSupportingType</small>
225
+ <span class='object_link'><a href="Schemacop/Caster.html#initialize-instance_method" title="Schemacop::Caster#initialize (method)">#initialize</a></span>
226
+ <small>Schemacop::Caster</small>
211
227
  </div>
212
228
  </li>
213
229
 
@@ -229,6 +245,14 @@
229
245
 
230
246
 
231
247
  <li class="even ">
248
+ <div class="item">
249
+ <span class='object_link'><a href="Schemacop/Collector.html#initialize-instance_method" title="Schemacop::Collector#initialize (method)">#initialize</a></span>
250
+ <small>Schemacop::Collector</small>
251
+ </div>
252
+ </li>
253
+
254
+
255
+ <li class="odd ">
232
256
  <div class="item">
233
257
  <span class='object_link'><a href="Schemacop/StringValidator.html#initialize-instance_method" title="Schemacop::StringValidator#initialize (method)">#initialize</a></span>
234
258
  <small>Schemacop::StringValidator</small>
@@ -236,7 +260,7 @@
236
260
  </li>
237
261
 
238
262
 
239
- <li class="odd ">
263
+ <li class="even ">
240
264
  <div class="item">
241
265
  <span class='object_link'><a href="Schemacop/Schema.html#invalid%3F-instance_method" title="Schemacop::Schema#invalid? (method)">#invalid?</a></span>
242
266
  <small>Schemacop::Schema</small>
@@ -244,7 +268,7 @@
244
268
  </li>
245
269
 
246
270
 
247
- <li class="even ">
271
+ <li class="odd ">
248
272
  <div class="item">
249
273
  <span class='object_link'><a href="Schemacop/Node.html#klass-class_method" title="Schemacop::Node.klass (method)">klass</a></span>
250
274
  <small>Schemacop::Node</small>
@@ -252,7 +276,7 @@
252
276
  </li>
253
277
 
254
278
 
255
- <li class="odd ">
279
+ <li class="even ">
256
280
  <div class="item">
257
281
  <span class='object_link'><a href="ScopedEnv.html#method_missing-instance_method" title="ScopedEnv#method_missing (method)">#method_missing</a></span>
258
282
  <small>ScopedEnv</small>
@@ -260,7 +284,7 @@
260
284
  </li>
261
285
 
262
286
 
263
- <li class="even ">
287
+ <li class="odd ">
264
288
  <div class="item">
265
289
  <span class='object_link'><a href="Schemacop/FieldNode.html#name-instance_method" title="Schemacop::FieldNode#name (method)">#name</a></span>
266
290
  <small>Schemacop::FieldNode</small>
@@ -268,7 +292,7 @@
268
292
  </li>
269
293
 
270
294
 
271
- <li class="odd ">
295
+ <li class="even ">
272
296
  <div class="item">
273
297
  <span class='object_link'><a href="Schemacop/NodeSupportingField.html#opt!-instance_method" title="Schemacop::NodeSupportingField#opt! (method)">#opt!</a></span>
274
298
  <small>Schemacop::NodeSupportingField</small>
@@ -276,7 +300,7 @@
276
300
  </li>
277
301
 
278
302
 
279
- <li class="even ">
303
+ <li class="odd ">
280
304
  <div class="item">
281
305
  <span class='object_link'><a href="Schemacop/NodeSupportingField.html#opt%3F-instance_method" title="Schemacop::NodeSupportingField#opt? (method)">#opt?</a></span>
282
306
  <small>Schemacop::NodeSupportingField</small>
@@ -284,7 +308,7 @@
284
308
  </li>
285
309
 
286
310
 
287
- <li class="odd ">
311
+ <li class="even ">
288
312
  <div class="item">
289
313
  <span class='object_link'><a href="Schemacop/Node.html#option-class_method" title="Schemacop::Node.option (method)">option</a></span>
290
314
  <small>Schemacop::Node</small>
@@ -292,7 +316,7 @@
292
316
  </li>
293
317
 
294
318
 
295
- <li class="even ">
319
+ <li class="odd ">
296
320
  <div class="item">
297
321
  <span class='object_link'><a href="Schemacop/Node.html#option-instance_method" title="Schemacop::Node#option (method)">#option</a></span>
298
322
  <small>Schemacop::Node</small>
@@ -300,7 +324,7 @@
300
324
  </li>
301
325
 
302
326
 
303
- <li class="odd ">
327
+ <li class="even ">
304
328
  <div class="item">
305
329
  <span class='object_link'><a href="Schemacop/Node.html#option%3F-instance_method" title="Schemacop::Node#option? (method)">#option?</a></span>
306
330
  <small>Schemacop::Node</small>
@@ -308,7 +332,7 @@
308
332
  </li>
309
333
 
310
334
 
311
- <li class="even ">
335
+ <li class="odd ">
312
336
  <div class="item">
313
337
  <span class='object_link'><a href="Schemacop/Node.html#options-instance_method" title="Schemacop::Node#options (method)">#options</a></span>
314
338
  <small>Schemacop::Node</small>
@@ -316,6 +340,14 @@
316
340
  </li>
317
341
 
318
342
 
343
+ <li class="even ">
344
+ <div class="item">
345
+ <span class='object_link'><a href="Schemacop/Collector.html#override_value-instance_method" title="Schemacop::Collector#override_value (method)">#override_value</a></span>
346
+ <small>Schemacop::Collector</small>
347
+ </div>
348
+ </li>
349
+
350
+
319
351
  <li class="odd ">
320
352
  <div class="item">
321
353
  <span class='object_link'><a href="Schemacop/Collector.html#path-instance_method" title="Schemacop::Collector#path (method)">#path</a></span>
@@ -326,16 +358,16 @@
326
358
 
327
359
  <li class="even ">
328
360
  <div class="item">
329
- <span class='object_link'><a href="Schemacop/Node.html#register-class_method" title="Schemacop::Node.register (method)">register</a></span>
330
- <small>Schemacop::Node</small>
361
+ <span class='object_link'><a href="Schemacop/NodeResolver.html#register-class_method" title="Schemacop::NodeResolver.register (method)">register</a></span>
362
+ <small>Schemacop::NodeResolver</small>
331
363
  </div>
332
364
  </li>
333
365
 
334
366
 
335
367
  <li class="odd ">
336
368
  <div class="item">
337
- <span class='object_link'><a href="Schemacop/NodeResolver.html#register-class_method" title="Schemacop::NodeResolver.register (method)">register</a></span>
338
- <small>Schemacop::NodeResolver</small>
369
+ <span class='object_link'><a href="Schemacop/Node.html#register-class_method" title="Schemacop::Node.register (method)">register</a></span>
370
+ <small>Schemacop::Node</small>
339
371
  </div>
340
372
  </li>
341
373
 
@@ -454,24 +486,24 @@
454
486
 
455
487
  <li class="even ">
456
488
  <div class="item">
457
- <span class='object_link'><a href="Schemacop/Schema.html#valid%3F-instance_method" title="Schemacop::Schema#valid? (method)">#valid?</a></span>
458
- <small>Schemacop::Schema</small>
489
+ <span class='object_link'><a href="Schemacop/Collector.html#valid%3F-instance_method" title="Schemacop::Collector#valid? (method)">#valid?</a></span>
490
+ <small>Schemacop::Collector</small>
459
491
  </div>
460
492
  </li>
461
493
 
462
494
 
463
495
  <li class="odd ">
464
496
  <div class="item">
465
- <span class='object_link'><a href="Schemacop/Collector.html#valid%3F-instance_method" title="Schemacop::Collector#valid? (method)">#valid?</a></span>
466
- <small>Schemacop::Collector</small>
497
+ <span class='object_link'><a href="Schemacop/Schema.html#valid%3F-instance_method" title="Schemacop::Schema#valid? (method)">#valid?</a></span>
498
+ <small>Schemacop::Schema</small>
467
499
  </div>
468
500
  </li>
469
501
 
470
502
 
471
503
  <li class="even ">
472
504
  <div class="item">
473
- <span class='object_link'><a href="Schemacop/Node.html#validate-instance_method" title="Schemacop::Node#validate (method)">#validate</a></span>
474
- <small>Schemacop::Node</small>
505
+ <span class='object_link'><a href="Schemacop/HashValidator.html#validate-instance_method" title="Schemacop::HashValidator#validate (method)">#validate</a></span>
506
+ <small>Schemacop::HashValidator</small>
475
507
  </div>
476
508
  </li>
477
509
 
@@ -486,48 +518,48 @@
486
518
 
487
519
  <li class="even ">
488
520
  <div class="item">
489
- <span class='object_link'><a href="Schemacop/FieldNode.html#validate-instance_method" title="Schemacop::FieldNode#validate (method)">#validate</a></span>
490
- <small>Schemacop::FieldNode</small>
521
+ <span class='object_link'><a href="Schemacop/ArrayValidator.html#validate-instance_method" title="Schemacop::ArrayValidator#validate (method)">#validate</a></span>
522
+ <small>Schemacop::ArrayValidator</small>
491
523
  </div>
492
524
  </li>
493
525
 
494
526
 
495
527
  <li class="odd ">
496
528
  <div class="item">
497
- <span class='object_link'><a href="Schemacop/NodeSupportingType.html#validate-instance_method" title="Schemacop::NodeSupportingType#validate (method)">#validate</a></span>
498
- <small>Schemacop::NodeSupportingType</small>
529
+ <span class='object_link'><a href="Schemacop/NumberValidator.html#validate-instance_method" title="Schemacop::NumberValidator#validate (method)">#validate</a></span>
530
+ <small>Schemacop::NumberValidator</small>
499
531
  </div>
500
532
  </li>
501
533
 
502
534
 
503
535
  <li class="even ">
504
536
  <div class="item">
505
- <span class='object_link'><a href="Schemacop/HashValidator.html#validate-instance_method" title="Schemacop::HashValidator#validate (method)">#validate</a></span>
506
- <small>Schemacop::HashValidator</small>
537
+ <span class='object_link'><a href="Schemacop/StringValidator.html#validate-instance_method" title="Schemacop::StringValidator#validate (method)">#validate</a></span>
538
+ <small>Schemacop::StringValidator</small>
507
539
  </div>
508
540
  </li>
509
541
 
510
542
 
511
543
  <li class="odd ">
512
544
  <div class="item">
513
- <span class='object_link'><a href="Schemacop/ArrayValidator.html#validate-instance_method" title="Schemacop::ArrayValidator#validate (method)">#validate</a></span>
514
- <small>Schemacop::ArrayValidator</small>
545
+ <span class='object_link'><a href="Schemacop/NodeSupportingType.html#validate-instance_method" title="Schemacop::NodeSupportingType#validate (method)">#validate</a></span>
546
+ <small>Schemacop::NodeSupportingType</small>
515
547
  </div>
516
548
  </li>
517
549
 
518
550
 
519
551
  <li class="even ">
520
552
  <div class="item">
521
- <span class='object_link'><a href="Schemacop/NumberValidator.html#validate-instance_method" title="Schemacop::NumberValidator#validate (method)">#validate</a></span>
522
- <small>Schemacop::NumberValidator</small>
553
+ <span class='object_link'><a href="Schemacop/FieldNode.html#validate-instance_method" title="Schemacop::FieldNode#validate (method)">#validate</a></span>
554
+ <small>Schemacop::FieldNode</small>
523
555
  </div>
524
556
  </li>
525
557
 
526
558
 
527
559
  <li class="odd ">
528
560
  <div class="item">
529
- <span class='object_link'><a href="Schemacop/StringValidator.html#validate-instance_method" title="Schemacop::StringValidator#validate (method)">#validate</a></span>
530
- <small>Schemacop::StringValidator</small>
561
+ <span class='object_link'><a href="Schemacop/Node.html#validate-instance_method" title="Schemacop::Node#validate (method)">#validate</a></span>
562
+ <small>Schemacop::Node</small>
531
563
  </div>
532
564
  </li>
533
565
 
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Top Level Namespace
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
 
@@ -102,9 +102,9 @@
102
102
  </div>
103
103
 
104
104
  <div id="footer">
105
- Generated on Thu May 18 13:17:23 2017 by
105
+ Generated on Tue Nov 5 11:16:27 2019 by
106
106
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
- 0.9.9 (ruby-2.3.1).
107
+ 0.9.20 (ruby-2.6.2).
108
108
  </div>
109
109
 
110
110
  </div>
@@ -1,9 +1,22 @@
1
1
  module Schemacop
2
+ DEFAULT_CASTERS = {
3
+ String => {
4
+ Integer => proc { |s| Integer(s) },
5
+ Float => proc { |s| Float(s) }
6
+ },
7
+ Float => {
8
+ Integer => proc { |f| Integer(f) }
9
+ },
10
+ Integer => {
11
+ Float => proc { |f| Float(f) }
12
+ }
13
+ }
2
14
  end
3
15
 
4
16
  require 'set'
5
17
  require 'active_support/core_ext/class/attribute'
6
18
  require 'active_support/hash_with_indifferent_access'
19
+ require 'active_support/core_ext/object/deep_dup'
7
20
 
8
21
  require 'schemacop/scoped_env'
9
22
  require 'schemacop/exceptions'
@@ -16,6 +29,7 @@ require 'schemacop/node_supporting_type'
16
29
  require 'schemacop/field_node'
17
30
  require 'schemacop/root_node'
18
31
  require 'schemacop/node_supporting_field'
32
+ require 'schemacop/caster'
19
33
  require 'schemacop/validator/array_validator'
20
34
  require 'schemacop/validator/boolean_validator'
21
35
  require 'schemacop/validator/hash_validator'