kharon 1.1.0 → 1.1.1

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.
Files changed (52) hide show
  1. checksums.yaml +5 -13
  2. data/{.rspec → .rspec.old} +0 -0
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +12 -4
  5. data/dist/kharon-1.1.0.gem +0 -0
  6. data/doc/Kharon.html +384 -6
  7. data/doc/Kharon/Errors.html +1 -1
  8. data/doc/Kharon/Errors/Validation.html +1 -1
  9. data/doc/Kharon/Handlers.html +1 -1
  10. data/doc/Kharon/Handlers/Exceptions.html +1 -1
  11. data/doc/Kharon/Handlers/Messages.html +1 -1
  12. data/doc/Kharon/Processor.html +425 -0
  13. data/doc/Kharon/Processors.html +144 -0
  14. data/doc/Kharon/Processors/ArrayProcessor.html +429 -0
  15. data/doc/Kharon/Processors/BooleanProcessor.html +306 -0
  16. data/doc/Kharon/Processors/BoxProcessor.html +440 -0
  17. data/doc/Kharon/Processors/DateProcessor.html +306 -0
  18. data/doc/Kharon/Processors/DatetimeProcessor.html +306 -0
  19. data/doc/Kharon/Processors/EmailProcessor.html +307 -0
  20. data/doc/Kharon/Processors/HashProcessor.html +431 -0
  21. data/doc/Kharon/Processors/IntegerProcessor.html +441 -0
  22. data/doc/Kharon/Processors/NumericProcessor.html +463 -0
  23. data/doc/Kharon/Processors/SSIDProcessor.html +307 -0
  24. data/doc/Kharon/Processors/TextProcessor.html +430 -0
  25. data/doc/Kharon/Validate.html +17 -5
  26. data/doc/Kharon/Validator.html +198 -1194
  27. data/doc/_index.html +159 -1
  28. data/doc/class_list.html +1 -1
  29. data/doc/file.README.html +15 -4
  30. data/doc/index.html +15 -4
  31. data/doc/method_list.html +135 -39
  32. data/doc/top-level-namespace.html +1 -1
  33. data/kharon.gemspec +4 -2
  34. data/lib/kharon.rb +32 -2
  35. data/lib/kharon/processor.rb +162 -0
  36. data/lib/kharon/processors.rb +6 -0
  37. data/lib/kharon/processors/array_processor.rb +30 -0
  38. data/lib/kharon/processors/boolean_processor.rb +31 -0
  39. data/lib/kharon/processors/box_processor.rb +63 -0
  40. data/lib/kharon/processors/date_processor.rb +21 -0
  41. data/lib/kharon/processors/datetime_processor.rb +21 -0
  42. data/lib/kharon/processors/email_processor.rb +21 -0
  43. data/lib/kharon/processors/hash_processor.rb +31 -0
  44. data/lib/kharon/processors/integer_processor.rb +55 -0
  45. data/lib/kharon/processors/numeric_processor.rb +66 -0
  46. data/lib/kharon/processors/ssid_processor.rb +21 -0
  47. data/lib/kharon/processors/text_processor.rb +30 -0
  48. data/lib/kharon/validate.rb +1 -1
  49. data/lib/kharon/validator.rb +26 -390
  50. data/lib/kharon/version.rb +1 -1
  51. data/spec/results.html +5277 -321
  52. metadata +69 -28
@@ -247,15 +247,27 @@ given instructions.</p>
247
247
  10
248
248
  11
249
249
  12
250
- 13</pre>
250
+ 13
251
+ 14
252
+ 15
253
+ 16
254
+ 17
255
+ 18
256
+ 19</pre>
251
257
  </td>
252
258
  <td>
253
259
  <pre class="code"><span class="info file"># File 'lib/kharon/validate.rb', line 9</span>
254
260
 
255
261
  <span class='kw'>def</span> <span class='id identifier rubyid_validate'>validate</span><span class='lparen'>(</span><span class='id identifier rubyid_datas'>datas</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
256
- <span class='id identifier rubyid_validator'>validator</span> <span class='op'>=</span> <span class='const'>Kharon</span><span class='op'>::</span><span class='const'>Validator</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_datas'>datas</span><span class='rparen'>)</span>
257
- <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
258
- <span class='kw'>return</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_filtered'>filtered</span>
262
+ <span class='kw'>begin</span>
263
+ <span class='id identifier rubyid_validator'>validator</span> <span class='op'>=</span> <span class='const'>Kharon</span><span class='op'>::</span><span class='const'>Validator</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_datas'>datas</span><span class='rparen'>)</span>
264
+ <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
265
+ <span class='kw'>return</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_filtered'>filtered</span>
266
+ <span class='kw'>rescue</span> <span class='const'>Kharon</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Validation</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_exception'>exception</span>
267
+ <span class='id identifier rubyid_raise'>raise</span> <span class='id identifier rubyid_exception'>exception</span>
268
+ <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_exception'>exception</span>
269
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Kharon</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Validation</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='label'>type:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>standard</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>exception:</span> <span class='id identifier rubyid_exception'>exception</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='label'>message:</span> <span class='id identifier rubyid_exception'>exception</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='label'>backtrace:</span> <span class='id identifier rubyid_exception'>exception</span><span class='period'>.</span><span class='id identifier rubyid_backtrace'>backtrace</span><span class='rbrace'>}</span><span class='rparen'>)</span>
270
+ <span class='kw'>end</span>
259
271
  <span class='kw'>end</span></pre>
260
272
  </td>
261
273
  </tr>
@@ -267,7 +279,7 @@ given instructions.</p>
267
279
  </div>
268
280
 
269
281
  <div id="footer">
270
- Generated on Tue May 17 11:54:24 2016 by
282
+ Generated on Thu Jun 2 16:20:55 2016 by
271
283
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
272
284
  0.8.7.6 (ruby-1.9.3).
273
285
  </div>
@@ -219,95 +219,10 @@ keys for example) by the validator.</p>
219
219
  </li>
220
220
 
221
221
 
222
- </ul>
223
-
224
-
225
-
226
-
227
-
228
- <h2>
229
- Instance Method Summary
230
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
231
- </h2>
232
-
233
- <ul class="summary">
234
-
235
- <li class="public ">
236
- <span class="summary_signature">
237
-
238
- <a href="#any-instance_method" title="#any (instance method)">- (Object) <strong>any</strong>(key, options = {}) </a>
239
-
240
-
241
-
242
- </span>
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
- <span class="summary_desc"><div class='inline'>
253
- <p>Doesn't check the type of the key and let it pass without modification.</p>
254
- </div></span>
255
-
256
- </li>
257
-
258
-
259
- <li class="public ">
260
- <span class="summary_signature">
261
-
262
- <a href="#array-instance_method" title="#array (instance method)">- (Object) <strong>array</strong>(key, options = {}) </a>
263
-
264
-
265
-
266
- </span>
267
-
268
-
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
- <span class="summary_desc"><div class='inline'>
277
- <p>Checks if the given key is an array or not.</p>
278
- </div></span>
279
-
280
- </li>
281
-
282
-
283
- <li class="public ">
284
- <span class="summary_signature">
285
-
286
- <a href="#boolean-instance_method" title="#boolean (instance method)">- (Object) <strong>boolean</strong>(key, options = {}) </a>
287
-
288
-
289
-
290
- </span>
291
-
292
-
293
-
294
-
295
-
296
-
297
-
298
-
299
-
300
- <span class="summary_desc"><div class='inline'>
301
- <p>Checks if the given key is a boolean or not.</p>
302
- </div></span>
303
-
304
- </li>
305
-
306
-
307
- <li class="public ">
222
+ <li class="public ">
308
223
  <span class="summary_signature">
309
224
 
310
- <a href="#box-instance_method" title="#box (instance method)">- (Object) <strong>box</strong>(key, options = {}) </a>
225
+ <a href="#processors-instance_method" title="#processors (instance method)">- (Hash) <strong>processors</strong> </a>
311
226
 
312
227
 
313
228
 
@@ -315,29 +230,10 @@ keys for example) by the validator.</p>
315
230
 
316
231
 
317
232
 
318
-
319
-
320
-
321
-
322
-
323
-
324
- <span class="summary_desc"><div class='inline'>
325
- <p>Checks if the given key is a box (geofences) or not.</p>
326
- </div></span>
327
-
328
- </li>
329
-
330
-
331
- <li class="public ">
332
- <span class="summary_signature">
333
233
 
334
- <a href="#date-instance_method" title="#date (instance method)">- (Object) <strong>date</strong>(key, options = {}) </a>
234
+ <span class="note title readonly">readonly</span>
335
235
 
336
-
337
236
 
338
- </span>
339
-
340
-
341
237
 
342
238
 
343
239
 
@@ -346,59 +242,24 @@ keys for example) by the validator.</p>
346
242
 
347
243
 
348
244
  <span class="summary_desc"><div class='inline'>
349
- <p>Checks if the given key is a date or not.</p>
245
+ <p>THe processors to process and validate the keys depending on their types.</p>
350
246
  </div></span>
351
247
 
352
248
  </li>
353
249
 
354
-
355
- <li class="public ">
356
- <span class="summary_signature">
357
-
358
- <a href="#datetime-instance_method" title="#datetime (instance method)">- (Object) <strong>datetime</strong>(key, options = {}) </a>
359
-
360
-
361
250
 
362
- </span>
363
-
364
-
365
-
366
-
367
-
368
-
369
-
251
+ </ul>
370
252
 
371
-
372
- <span class="summary_desc"><div class='inline'>
373
- <p>Checks if the given key is a datetime or not.</p>
374
- </div></span>
375
-
376
- </li>
377
253
 
378
-
379
- <li class="public ">
380
- <span class="summary_signature">
381
-
382
- <a href="#email-instance_method" title="#email (instance method)">- (Object) <strong>email</strong>(key, options = {}) </a>
383
-
384
254
 
385
-
386
- </span>
387
-
388
-
389
-
390
-
391
-
392
-
393
-
394
255
 
395
256
 
396
- <span class="summary_desc"><div class='inline'>
397
- <p>Checks if the given key is an email or not.</p>
398
- </div></span>
399
-
400
- </li>
257
+ <h2>
258
+ Instance Method Summary
259
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
260
+ </h2>
401
261
 
262
+ <ul class="summary">
402
263
 
403
264
  <li class="public ">
404
265
  <span class="summary_signature">
@@ -453,55 +314,7 @@ keys for example) by the validator.</p>
453
314
  <li class="public ">
454
315
  <span class="summary_signature">
455
316
 
456
- <a href="#integer-instance_method" title="#integer (instance method)">- (Object) <strong>integer</strong>(key, options = {}) </a>
457
-
458
-
459
-
460
- </span>
461
-
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
-
470
- <span class="summary_desc"><div class='inline'>
471
- <p>Checks if the given key is an integer or not.</p>
472
- </div></span>
473
-
474
- </li>
475
-
476
-
477
- <li class="public ">
478
- <span class="summary_signature">
479
-
480
- <a href="#numeric-instance_method" title="#numeric (instance method)">- (Object) <strong>numeric</strong>(key, options = {}) </a>
481
-
482
-
483
-
484
- </span>
485
-
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
-
494
- <span class="summary_desc"><div class='inline'>
495
- <p>Checks if the given key is a numeric or not.</p>
496
- </div></span>
497
-
498
- </li>
499
-
500
-
501
- <li class="public ">
502
- <span class="summary_signature">
503
-
504
- <a href="#ssid-instance_method" title="#ssid (instance method)">- (Object) <strong>ssid</strong>(key, options = {}) </a>
317
+ <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(name, *arguments, &amp;block) </a>
505
318
 
506
319
 
507
320
 
@@ -516,7 +329,8 @@ keys for example) by the validator.</p>
516
329
 
517
330
 
518
331
  <span class="summary_desc"><div class='inline'>
519
- <p>Checks if the given key is a SSID for a MongoDB object or not.</p>
332
+ <p>Method used to not directly define the different type validation methods,
333
+ but instead to look for it in the processors list.</p>
520
334
  </div></span>
521
335
 
522
336
  </li>
@@ -525,7 +339,7 @@ keys for example) by the validator.</p>
525
339
  <li class="public ">
526
340
  <span class="summary_signature">
527
341
 
528
- <a href="#text-instance_method" title="#text (instance method)">- (Object) <strong>text</strong>(key, options = {}) </a>
342
+ <a href="#respond_to%3F-instance_method" title="#respond_to? (instance method)">- (Boolean) <strong>respond_to?</strong>(name, search_private = false) </a>
529
343
 
530
344
 
531
345
 
@@ -539,9 +353,7 @@ keys for example) by the validator.</p>
539
353
 
540
354
 
541
355
 
542
- <span class="summary_desc"><div class='inline'>
543
- <p>Checks if the given key is a not-empty string or not.</p>
544
- </div></span>
356
+ <span class="summary_desc"><div class='inline'></div></span>
545
357
 
546
358
  </li>
547
359
 
@@ -610,19 +422,21 @@ keys for example) by the validator.</p>
610
422
  <pre class="lines">
611
423
 
612
424
 
613
- 23
614
- 24
615
- 25
616
- 26
617
- 27</pre>
425
+ 27
426
+ 28
427
+ 29
428
+ 30
429
+ 31
430
+ 32</pre>
618
431
  </td>
619
432
  <td>
620
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 23</span>
433
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 27</span>
621
434
 
622
435
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_datas'>datas</span><span class='rparen'>)</span>
623
- <span class='ivar'>@datas</span> <span class='op'>=</span> <span class='id identifier rubyid_datas'>datas</span>
624
- <span class='ivar'>@filtered</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
625
- <span class='ivar'>@handler</span> <span class='op'>=</span> <span class='const'>Kharon</span><span class='period'>.</span><span class='id identifier rubyid_errors_handler'>errors_handler</span>
436
+ <span class='ivar'>@datas</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_datas'>datas</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='rbracket'>]</span>
437
+ <span class='ivar'>@processors</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='lbracket'>[</span><span class='const'>Kharon</span><span class='period'>.</span><span class='id identifier rubyid_processors'>processors</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_classname'>classname</span><span class='op'>|</span> <span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_classname'>classname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='rbracket'>]</span>
438
+ <span class='ivar'>@filtered</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
439
+ <span class='ivar'>@handler</span> <span class='op'>=</span> <span class='const'>Kharon</span><span class='period'>.</span><span class='id identifier rubyid_errors_handler'>errors_handler</span>
626
440
  <span class='kw'>end</span></pre>
627
441
  </td>
628
442
  </tr>
@@ -630,16 +444,17 @@ keys for example) by the validator.</p>
630
444
  </div>
631
445
 
632
446
  </div>
633
-
634
- <div id="instance_attr_details" class="attr_details">
635
- <h2>Instance Attribute Details</h2>
447
+ <div id="method_missing_details" class="method_details_list">
448
+ <h2>Dynamic Method Handling</h2>
449
+ <p class="notice this">
450
+ This class handles dynamic methods through the <tt>method_missing</tt> method
636
451
 
637
-
638
- <span id=""></span>
639
- <div class="method_details first">
640
- <h3 class="signature first" id="datas-instance_method">
452
+ </p>
641
453
 
642
- - (<tt>Hash</tt>) <strong>datas</strong> <span class="extras">(readonly)</span>
454
+ <div class="method_details first">
455
+ <h3 class="signature first" id="method_missing-instance_method">
456
+
457
+ - (<tt>Object</tt>) <strong>method_missing</strong>(name, *arguments, &amp;block)
643
458
 
644
459
 
645
460
 
@@ -648,804 +463,61 @@ keys for example) by the validator.</p>
648
463
  </h3><div class="docstring">
649
464
  <div class="discussion">
650
465
 
651
- <p>Returns The datas to filter, they shouldn’t be modified to guarantee their
652
- integrity.</p>
466
+ <p>Method used to not directly define the different type validation methods,
467
+ but instead to look for it in the processors list.</p>
653
468
 
654
469
 
655
470
  </div>
656
471
  </div>
657
472
  <div class="tags">
658
-
659
- <p class="tag_title">Returns:</p>
660
- <ul class="return">
473
+ <p class="tag_title">Parameters:</p>
474
+ <ul class="param">
661
475
 
662
476
  <li>
663
477
 
478
+ <span class='name'>name</span>
664
479
 
665
- <span class='type'>(<tt>Hash</tt>)</span>
480
+
481
+ <span class='type'>(<tt>String</tt>)</span>
666
482
 
667
483
 
668
484
 
669
485
  &mdash;
670
486
  <div class='inline'>
671
- <p>The datas to filter, they shouldn’t be modified to guarantee their
672
- integrity.</p>
673
- </div>
674
-
675
- </li>
676
-
677
- </ul>
678
-
679
- </div><table class="source_code">
680
- <tr>
681
- <td>
682
- <pre class="lines">
683
-
684
-
685
- </pre>
686
- </td>
687
- <td>
688
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 7</span>
689
-
690
- </pre>
691
- </td>
692
- </tr>
693
- </table>
694
- </div>
695
-
696
-
697
- <span id="filtered=-instance_method"></span>
698
- <div class="method_details ">
699
- <h3 class="signature " id="filtered-instance_method">
700
-
701
- - (<tt>Hash</tt>) <strong>filtered</strong>
702
-
703
-
704
-
705
-
706
-
707
- </h3><div class="docstring">
708
- <div class="discussion">
709
-
710
- <p>Returns The filtered datas are the datas after they have been filtered
711
- (renamed keys for example) by the validator.</p>
712
-
713
-
714
- </div>
715
- </div>
716
- <div class="tags">
717
-
718
- <p class="tag_title">Returns:</p>
719
- <ul class="return">
720
-
721
- <li>
722
-
723
-
724
- <span class='type'>(<tt>Hash</tt>)</span>
725
-
726
-
727
-
728
- &mdash;
729
- <div class='inline'>
730
- <p>The filtered datas are the datas after they have been filtered (renamed
731
- keys for example) by the validator.</p>
732
- </div>
733
-
734
- </li>
735
-
736
- </ul>
737
-
738
- </div><table class="source_code">
739
- <tr>
740
- <td>
741
- <pre class="lines">
742
-
743
-
744
- </pre>
745
- </td>
746
- <td>
747
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 11</span>
748
-
749
- </pre>
750
- </td>
751
- </tr>
752
- </table>
753
- </div>
754
-
755
-
756
- <span id="handler=-instance_method"></span>
757
- <div class="method_details ">
758
- <h3 class="signature " id="handler-instance_method">
759
-
760
- - (<tt>Object</tt>) <strong>handler</strong>
761
-
762
-
763
-
764
-
765
-
766
- </h3><div class="docstring">
767
- <div class="discussion">
768
-
769
- <p>Returns the error handler given to this instance of the validator.</p>
770
-
771
-
772
- </div>
773
- </div>
774
- <div class="tags">
775
-
776
- <p class="tag_title">Returns:</p>
777
- <ul class="return">
778
-
779
- <li>
780
-
781
-
782
- <span class='type'>(<tt>Object</tt>)</span>
783
-
784
-
785
-
786
- &mdash;
787
- <div class='inline'>
788
- <p>the error handler given to this instance of the validator.</p>
789
- </div>
790
-
791
- </li>
792
-
793
- </ul>
794
-
795
- </div><table class="source_code">
796
- <tr>
797
- <td>
798
- <pre class="lines">
799
-
800
-
801
- </pre>
802
- </td>
803
- <td>
804
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 15</span>
805
-
806
- </pre>
807
- </td>
808
- </tr>
809
- </table>
810
- </div>
811
-
812
- </div>
813
-
814
-
815
- <div id="instance_method_details" class="method_details_list">
816
- <h2>Instance Method Details</h2>
817
-
818
-
819
- <div class="method_details first">
820
- <h3 class="signature first" id="any-instance_method">
821
-
822
- - (<tt>Object</tt>) <strong>any</strong>(key, options = {})
823
-
824
-
825
-
826
-
827
-
828
- </h3><div class="docstring">
829
- <div class="discussion">
830
-
831
- <p>Doesn't check the type of the key and let it pass without modification.</p>
832
-
833
-
834
- </div>
835
- </div>
836
- <div class="tags">
837
-
838
- <div class="examples">
839
- <p class="tag_title">Examples:</p>
840
-
841
-
842
- <p class="example_title"><div class='inline'>
843
- <p>Just checks if the key is in the hash.</p>
844
- </div></p>
845
-
846
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_any'>any</span><span class='lparen'>(</span><span class='symbol'>:a_key</span><span class='comma'>,</span> <span class='label'>required:</span> <span class='kw'>true</span><span class='rparen'>)</span></code></pre>
847
-
848
- </div>
849
- <p class="tag_title">Parameters:</p>
850
- <ul class="param">
851
-
852
- <li>
853
-
854
- <span class='name'>key</span>
855
-
856
-
857
- <span class='type'>(<tt>Object</tt>)</span>
858
-
859
-
860
-
861
- &mdash;
862
- <div class='inline'>
863
- <p>the key about which verify the type.</p>
864
- </div>
865
-
866
- </li>
867
-
868
- <li>
869
-
870
- <span class='name'>options</span>
871
-
872
-
873
- <span class='type'>(<tt>Hash</tt>)</span>
874
-
875
-
876
- <em class="default">(defaults to: <tt>{}</tt>)</em>
877
-
878
-
879
- &mdash;
880
- <div class='inline'>
881
- <p>a hash of options passed to this method (see documentation to know which
882
- options pass).</p>
883
- </div>
884
-
885
- </li>
886
-
887
- </ul>
888
-
889
-
890
- </div><table class="source_code">
891
- <tr>
892
- <td>
893
- <pre class="lines">
894
-
895
-
896
- 64
897
- 65
898
- 66
899
- 67</pre>
900
- </td>
901
- <td>
902
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 64</span>
903
-
904
- <span class='kw'>def</span> <span class='id identifier rubyid_any'>any</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
905
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
906
- <span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_item'>item</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
907
- <span class='kw'>end</span></pre>
908
- </td>
909
- </tr>
910
- </table>
911
- </div>
912
-
913
- <div class="method_details ">
914
- <h3 class="signature " id="array-instance_method">
915
-
916
- - (<tt>Object</tt>) <strong>array</strong>(key, options = {})
917
-
918
-
919
-
920
-
921
-
922
- </h3><div class="docstring">
923
- <div class="discussion">
924
-
925
- <p>Checks if the given key is an array or not.</p>
926
-
927
-
928
- </div>
929
- </div>
930
- <div class="tags">
931
-
932
- <div class="examples">
933
- <p class="tag_title">Examples:</p>
934
-
935
-
936
- <p class="example_title"><div class='inline'>
937
- <p>Validates a key so it has to be an array, and checks if it has some values
938
- in it.</p>
939
- </div></p>
940
-
941
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_date'>date</span><span class='lparen'>(</span><span class='symbol'>:an_array</span><span class='comma'>,</span> <span class='label'>contains?:</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>first</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>second</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
942
-
943
- </div>
944
- <p class="tag_title">Parameters:</p>
945
- <ul class="param">
946
-
947
- <li>
948
-
949
- <span class='name'>key</span>
950
-
951
-
952
- <span class='type'>(<tt>Object</tt>)</span>
953
-
954
-
955
-
956
- &mdash;
957
- <div class='inline'>
958
- <p>the key about which verify the type.</p>
959
- </div>
960
-
961
- </li>
962
-
963
- <li>
964
-
965
- <span class='name'>options</span>
966
-
967
-
968
- <span class='type'>(<tt>Hash</tt>)</span>
969
-
970
-
971
- <em class="default">(defaults to: <tt>{}</tt>)</em>
972
-
973
-
974
- &mdash;
975
- <div class='inline'>
976
- <p>a hash of options passed to this method (see documentation to know which
977
- options pass).</p>
978
- </div>
979
-
980
- </li>
981
-
982
- </ul>
983
-
984
-
985
- </div><table class="source_code">
986
- <tr>
987
- <td>
988
- <pre class="lines">
989
-
990
-
991
- 94
992
- 95
993
- 96
994
- 97</pre>
995
- </td>
996
- <td>
997
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 94</span>
998
-
999
- <span class='kw'>def</span> <span class='id identifier rubyid_array'>array</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1000
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1001
- <span class='id identifier rubyid_is_typed?'>is_typed?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='const'>Array</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store_array'>store_array</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1002
- <span class='kw'>end</span></pre>
1003
- </td>
1004
- </tr>
1005
- </table>
1006
- </div>
1007
-
1008
- <div class="method_details ">
1009
- <h3 class="signature " id="boolean-instance_method">
1010
-
1011
- - (<tt>Object</tt>) <strong>boolean</strong>(key, options = {})
1012
-
1013
-
1014
-
1015
-
1016
-
1017
- </h3><div class="docstring">
1018
- <div class="discussion">
1019
-
1020
- <p>Checks if the given key is a boolean or not.</p>
1021
-
1022
-
1023
- </div>
1024
- </div>
1025
- <div class="tags">
1026
-
1027
- <div class="examples">
1028
- <p class="tag_title">Examples:</p>
1029
-
1030
-
1031
- <p class="example_title"><div class='inline'>
1032
- <p>Validates a key so it has to be a boolean.</p>
1033
- </div></p>
1034
-
1035
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_boolean'>boolean</span><span class='lparen'>(</span><span class='symbol'>:a_boolean</span><span class='rparen'>)</span></code></pre>
1036
-
1037
- </div>
1038
- <p class="tag_title">Parameters:</p>
1039
- <ul class="param">
1040
-
1041
- <li>
1042
-
1043
- <span class='name'>key</span>
1044
-
1045
-
1046
- <span class='type'>(<tt>Object</tt>)</span>
1047
-
1048
-
1049
-
1050
- &mdash;
1051
- <div class='inline'>
1052
- <p>the key about which verify the type.</p>
1053
- </div>
1054
-
1055
- </li>
1056
-
1057
- <li>
1058
-
1059
- <span class='name'>options</span>
1060
-
1061
-
1062
- <span class='type'>(<tt>Hash</tt>)</span>
1063
-
1064
-
1065
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1066
-
1067
-
1068
- &mdash;
1069
- <div class='inline'>
1070
- <p>a hash of options passed to this method (see documentation to know which
1071
- options pass).</p>
1072
- </div>
1073
-
1074
- </li>
1075
-
1076
- </ul>
1077
-
1078
-
1079
- </div><table class="source_code">
1080
- <tr>
1081
- <td>
1082
- <pre class="lines">
1083
-
1084
-
1085
- 114
1086
- 115
1087
- 116
1088
- 117</pre>
1089
- </td>
1090
- <td>
1091
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 114</span>
1092
-
1093
- <span class='kw'>def</span> <span class='id identifier rubyid_boolean'>boolean</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1094
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1095
- <span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(true)|(false)</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_to_boolean'>to_boolean</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Numeric</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1096
- <span class='kw'>end</span></pre>
1097
- </td>
1098
- </tr>
1099
- </table>
1100
- </div>
1101
-
1102
- <div class="method_details ">
1103
- <h3 class="signature " id="box-instance_method">
1104
-
1105
- - (<tt>Object</tt>) <strong>box</strong>(key, options = {})
1106
-
1107
-
1108
-
1109
-
1110
-
1111
- </h3><div class="docstring">
1112
- <div class="discussion">
1113
-
1114
- <p>Checks if the given key is a box (geofences) or not. A box is composed of
1115
- four numbers (positive or negative, decimal or not) separed by commas.</p>
1116
-
1117
-
1118
- </div>
1119
- </div>
1120
- <div class="tags">
1121
-
1122
- <div class="examples">
1123
- <p class="tag_title">Examples:</p>
1124
-
1125
-
1126
- <p class="example_title"><div class='inline'>
1127
- <p>Validates a key so it has to be a box.</p>
1128
- </div></p>
1129
-
1130
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_box'>box</span><span class='lparen'>(</span><span class='symbol'>:a_box</span><span class='rparen'>)</span></code></pre>
1131
-
1132
- </div>
1133
- <p class="tag_title">Parameters:</p>
1134
- <ul class="param">
1135
-
1136
- <li>
1137
-
1138
- <span class='name'>key</span>
1139
-
1140
-
1141
- <span class='type'>(<tt>Object</tt>)</span>
1142
-
1143
-
1144
-
1145
- &mdash;
1146
- <div class='inline'>
1147
- <p>the key about which verify the type.</p>
1148
- </div>
1149
-
1150
- </li>
1151
-
1152
- <li>
1153
-
1154
- <span class='name'>options</span>
1155
-
1156
-
1157
- <span class='type'>(<tt>Hash</tt>)</span>
1158
-
1159
-
1160
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1161
-
1162
-
1163
- &mdash;
1164
- <div class='inline'>
1165
- <p>a hash of options passed to this method (see documentation to know which
1166
- options pass).</p>
1167
- </div>
1168
-
1169
- </li>
1170
-
1171
- </ul>
1172
-
1173
-
1174
- </div><table class="source_code">
1175
- <tr>
1176
- <td>
1177
- <pre class="lines">
1178
-
1179
-
1180
- 134
1181
- 135
1182
- 136
1183
- 137</pre>
1184
- </td>
1185
- <td>
1186
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 134</span>
1187
-
1188
- <span class='kw'>def</span> <span class='id identifier rubyid_box'>box</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1189
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1190
- <span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(?:[+-]?\d{1,3}(?:\.\d{1,7})?,?){4}$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store_box'>store_box</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Box</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1191
- <span class='kw'>end</span></pre>
1192
- </td>
1193
- </tr>
1194
- </table>
1195
- </div>
1196
-
1197
- <div class="method_details ">
1198
- <h3 class="signature " id="date-instance_method">
1199
-
1200
- - (<tt>Object</tt>) <strong>date</strong>(key, options = {})
1201
-
1202
-
1203
-
1204
-
1205
-
1206
- </h3><div class="docstring">
1207
- <div class="discussion">
1208
-
1209
- <p>Checks if the given key is a date or not.</p>
1210
-
1211
-
1212
- </div>
1213
- </div>
1214
- <div class="tags">
1215
-
1216
- <div class="examples">
1217
- <p class="tag_title">Examples:</p>
1218
-
1219
-
1220
- <p class="example_title"><div class='inline'>
1221
- <p>Validates a key so it has to be a date, and depends on another key.</p>
1222
- </div></p>
1223
-
1224
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_date'>date</span><span class='lparen'>(</span><span class='symbol'>:a_date</span><span class='comma'>,</span> <span class='label'>dependency:</span> <span class='symbol'>:another_key</span><span class='rparen'>)</span></code></pre>
1225
-
1226
- </div>
1227
- <p class="tag_title">Parameters:</p>
1228
- <ul class="param">
1229
-
1230
- <li>
1231
-
1232
- <span class='name'>key</span>
1233
-
1234
-
1235
- <span class='type'>(<tt>Object</tt>)</span>
1236
-
1237
-
1238
-
1239
- &mdash;
1240
- <div class='inline'>
1241
- <p>the key about which verify the type.</p>
1242
- </div>
1243
-
1244
- </li>
1245
-
1246
- <li>
1247
-
1248
- <span class='name'>options</span>
1249
-
1250
-
1251
- <span class='type'>(<tt>Hash</tt>)</span>
1252
-
1253
-
1254
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1255
-
1256
-
1257
- &mdash;
1258
- <div class='inline'>
1259
- <p>a hash of options passed to this method (see documentation to know which
1260
- options pass).</p>
1261
- </div>
1262
-
1263
- </li>
1264
-
1265
- </ul>
1266
-
1267
-
1268
- </div><table class="source_code">
1269
- <tr>
1270
- <td>
1271
- <pre class="lines">
1272
-
1273
-
1274
- 84
1275
- 85
1276
- 86
1277
- 87</pre>
1278
- </td>
1279
- <td>
1280
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 84</span>
1281
-
1282
- <span class='kw'>def</span> <span class='id identifier rubyid_date'>date</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1283
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1284
- <span class='kw'>begin</span><span class='semicolon'>;</span> <span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>rescue</span><span class='semicolon'>;</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Date</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span>
1285
- <span class='kw'>end</span></pre>
1286
- </td>
1287
- </tr>
1288
- </table>
1289
- </div>
1290
-
1291
- <div class="method_details ">
1292
- <h3 class="signature " id="datetime-instance_method">
1293
-
1294
- - (<tt>Object</tt>) <strong>datetime</strong>(key, options = {})
1295
-
1296
-
1297
-
1298
-
1299
-
1300
- </h3><div class="docstring">
1301
- <div class="discussion">
1302
-
1303
- <p>Checks if the given key is a datetime or not.</p>
1304
-
1305
-
1306
- </div>
1307
- </div>
1308
- <div class="tags">
1309
-
1310
- <div class="examples">
1311
- <p class="tag_title">Examples:</p>
1312
-
1313
-
1314
- <p class="example_title"><div class='inline'>
1315
- <p>Validates a key so it has to be a datetime, and depends on two other keys.</p>
1316
- </div></p>
1317
-
1318
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_datetime'>datetime</span><span class='lparen'>(</span><span class='symbol'>:a_datetime</span><span class='comma'>,</span> <span class='label'>dependencies:</span> <span class='lbracket'>[</span><span class='symbol'>:another_key</span><span class='comma'>,</span> <span class='symbol'>:a_third_key</span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
1319
-
1320
- </div>
1321
- <p class="tag_title">Parameters:</p>
1322
- <ul class="param">
1323
-
1324
- <li>
1325
-
1326
- <span class='name'>key</span>
1327
-
1328
-
1329
- <span class='type'>(<tt>Object</tt>)</span>
1330
-
1331
-
1332
-
1333
- &mdash;
1334
- <div class='inline'>
1335
- <p>the key about which verify the type.</p>
1336
- </div>
1337
-
1338
- </li>
1339
-
1340
- <li>
1341
-
1342
- <span class='name'>options</span>
1343
-
1344
-
1345
- <span class='type'>(<tt>Hash</tt>)</span>
1346
-
1347
-
1348
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1349
-
1350
-
1351
- &mdash;
1352
- <div class='inline'>
1353
- <p>a hash of options passed to this method (see documentation to know which
1354
- options pass).</p>
1355
- </div>
1356
-
1357
- </li>
1358
-
1359
- </ul>
1360
-
1361
-
1362
- </div><table class="source_code">
1363
- <tr>
1364
- <td>
1365
- <pre class="lines">
1366
-
1367
-
1368
- 74
1369
- 75
1370
- 76
1371
- 77</pre>
1372
- </td>
1373
- <td>
1374
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 74</span>
1375
-
1376
- <span class='kw'>def</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1377
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1378
- <span class='kw'>begin</span><span class='semicolon'>;</span> <span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>rescue</span><span class='semicolon'>;</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DateTime</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span>
1379
- <span class='kw'>end</span></pre>
1380
- </td>
1381
- </tr>
1382
- </table>
1383
- </div>
1384
-
1385
- <div class="method_details ">
1386
- <h3 class="signature " id="email-instance_method">
1387
-
1388
- - (<tt>Object</tt>) <strong>email</strong>(key, options = {})
1389
-
1390
-
1391
-
1392
-
1393
-
1394
- </h3><div class="docstring">
1395
- <div class="discussion">
1396
-
1397
- <p>Checks if the given key is an email or not.</p>
1398
-
1399
-
1400
- </div>
1401
- </div>
1402
- <div class="tags">
1403
-
1404
- <div class="examples">
1405
- <p class="tag_title">Examples:</p>
1406
-
1407
-
1408
- <p class="example_title"><div class='inline'>
1409
- <p>Validates a key so it has to be an email.</p>
1410
- </div></p>
1411
-
1412
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_email'>email</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span></code></pre>
1413
-
1414
- </div>
1415
- <p class="tag_title">Parameters:</p>
1416
- <ul class="param">
487
+ <p>the name of the not found method.</p>
488
+ </div>
489
+
490
+ </li>
1417
491
 
1418
492
  <li>
1419
493
 
1420
- <span class='name'>key</span>
494
+ <span class='name'>arguments</span>
1421
495
 
1422
496
 
1423
- <span class='type'>(<tt>Object</tt>)</span>
497
+ <span class='type'>(<tt>Array</tt>)</span>
1424
498
 
1425
499
 
1426
500
 
1427
501
  &mdash;
1428
502
  <div class='inline'>
1429
- <p>the key about which verify the type.</p>
503
+ <p>the arguments passed to the not found method when it’s called.</p>
1430
504
  </div>
1431
505
 
1432
506
  </li>
1433
507
 
1434
508
  <li>
1435
509
 
1436
- <span class='name'>options</span>
1437
-
510
+ <span class='name'>block</span>
1438
511
 
1439
- <span class='type'>(<tt>Hash</tt>)</span>
1440
512
 
513
+ <span class='type'>(<tt>Proc</tt>)</span>
1441
514
 
1442
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1443
515
 
1444
516
 
1445
517
  &mdash;
1446
518
  <div class='inline'>
1447
- <p>a hash of options passed to this method (see documentation to know which
1448
- options pass).</p>
519
+ <p>the block that might have been passed to the not found method when it’s
520
+ called.</p>
1449
521
  </div>
1450
522
 
1451
523
  </li>
@@ -1459,27 +531,48 @@ options pass).</p>
1459
531
  <pre class="lines">
1460
532
 
1461
533
 
1462
- 144
1463
- 145
1464
- 146
1465
- 147</pre>
1466
- </td>
1467
- <td>
1468
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 144</span>
1469
-
1470
- <span class='kw'>def</span> <span class='id identifier rubyid_email'>email</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1471
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1472
- <span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_item'>item</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Email</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
534
+ 38
535
+ 39
536
+ 40
537
+ 41
538
+ 42
539
+ 43
540
+ 44
541
+ 45
542
+ 46
543
+ 47
544
+ 48</pre>
545
+ </td>
546
+ <td>
547
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 38</span>
548
+
549
+ <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
550
+ <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span> <span class='id identifier rubyid_name'>name</span>
551
+ <span class='kw'>if</span> <span class='id identifier rubyid_arguments'>arguments</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>1</span>
552
+ <span class='id identifier rubyid_processors'>processors</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_process'>process</span><span class='lparen'>(</span><span class='id identifier rubyid_arguments'>arguments</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span>
553
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_arguments'>arguments</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>2</span>
554
+ <span class='id identifier rubyid_processors'>processors</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_process'>process</span><span class='lparen'>(</span><span class='id identifier rubyid_arguments'>arguments</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_arguments'>arguments</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
555
+ <span class='kw'>end</span>
556
+ <span class='kw'>else</span>
557
+ <span class='kw'>super</span>
558
+ <span class='kw'>end</span>
1473
559
  <span class='kw'>end</span></pre>
1474
560
  </td>
1475
561
  </tr>
1476
562
  </table>
1477
563
  </div>
564
+
565
+ </div>
566
+
567
+ <div id="instance_attr_details" class="attr_details">
568
+ <h2>Instance Attribute Details</h2>
1478
569
 
1479
- <div class="method_details ">
1480
- <h3 class="signature " id="hash-instance_method">
570
+
571
+ <span id=""></span>
572
+ <div class="method_details first">
573
+ <h3 class="signature first" id="datas-instance_method">
1481
574
 
1482
- - (<tt>Object</tt>) <strong>hash</strong>(key, options = {})
575
+ - (<tt>Hash</tt>) <strong>datas</strong> <span class="extras">(readonly)</span>
1483
576
 
1484
577
 
1485
578
 
@@ -1488,92 +581,57 @@ options pass).</p>
1488
581
  </h3><div class="docstring">
1489
582
  <div class="discussion">
1490
583
 
1491
- <p>Checks if the given key is a hash or not.</p>
584
+ <p>Returns The datas to filter, they shouldn’t be modified to guarantee their
585
+ integrity.</p>
1492
586
 
1493
587
 
1494
588
  </div>
1495
589
  </div>
1496
590
  <div class="tags">
1497
591
 
1498
- <div class="examples">
1499
- <p class="tag_title">Examples:</p>
1500
-
1501
-
1502
- <p class="example_title"><div class='inline'>
1503
- <p>Validates a key so it has to be a hash, and checks if it has some keys.</p>
1504
- </div></p>
1505
-
1506
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_date'>date</span><span class='lparen'>(</span><span class='symbol'>:a_hash</span><span class='comma'>,</span> <span class='label'>has_keys:</span> <span class='lbracket'>[</span><span class='symbol'>:first</span><span class='comma'>,</span> <span class='symbol'>:second</span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
1507
-
1508
- </div>
1509
- <p class="tag_title">Parameters:</p>
1510
- <ul class="param">
1511
-
1512
- <li>
1513
-
1514
- <span class='name'>key</span>
1515
-
1516
-
1517
- <span class='type'>(<tt>Object</tt>)</span>
1518
-
1519
-
1520
-
1521
- &mdash;
1522
- <div class='inline'>
1523
- <p>the key about which verify the type.</p>
1524
- </div>
1525
-
1526
- </li>
592
+ <p class="tag_title">Returns:</p>
593
+ <ul class="return">
1527
594
 
1528
595
  <li>
1529
596
 
1530
- <span class='name'>options</span>
1531
-
1532
597
 
1533
598
  <span class='type'>(<tt>Hash</tt>)</span>
1534
599
 
1535
600
 
1536
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1537
-
1538
601
 
1539
602
  &mdash;
1540
603
  <div class='inline'>
1541
- <p>a hash of options passed to this method (see documentation to know which
1542
- options pass).</p>
604
+ <p>The datas to filter, they shouldn’t be modified to guarantee their
605
+ integrity.</p>
1543
606
  </div>
1544
607
 
1545
608
  </li>
1546
609
 
1547
610
  </ul>
1548
611
 
1549
-
1550
612
  </div><table class="source_code">
1551
613
  <tr>
1552
614
  <td>
1553
615
  <pre class="lines">
1554
616
 
1555
617
 
1556
- 104
1557
- 105
1558
- 106
1559
- 107</pre>
618
+ </pre>
1560
619
  </td>
1561
620
  <td>
1562
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 104</span>
621
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 7</span>
1563
622
 
1564
- <span class='kw'>def</span> <span class='id identifier rubyid_hash'>hash</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1565
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1566
- <span class='id identifier rubyid_is_typed?'>is_typed?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='const'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store_hash'>store_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_try_convert'>try_convert</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Hash</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1567
- <span class='kw'>end</span></pre>
623
+ </pre>
1568
624
  </td>
1569
625
  </tr>
1570
626
  </table>
1571
627
  </div>
1572
628
 
629
+
630
+ <span id="filtered=-instance_method"></span>
1573
631
  <div class="method_details ">
1574
- <h3 class="signature " id="integer-instance_method">
632
+ <h3 class="signature " id="filtered-instance_method">
1575
633
 
1576
- - (<tt>Object</tt>) <strong>integer</strong>(key, options = {})
634
+ - (<tt>Hash</tt>) <strong>filtered</strong>
1577
635
 
1578
636
 
1579
637
 
@@ -1582,92 +640,57 @@ options pass).</p>
1582
640
  </h3><div class="docstring">
1583
641
  <div class="discussion">
1584
642
 
1585
- <p>Checks if the given key is an integer or not.</p>
643
+ <p>Returns The filtered datas are the datas after they have been filtered
644
+ (renamed keys for example) by the validator.</p>
1586
645
 
1587
646
 
1588
647
  </div>
1589
648
  </div>
1590
649
  <div class="tags">
1591
650
 
1592
- <div class="examples">
1593
- <p class="tag_title">Examples:</p>
1594
-
1595
-
1596
- <p class="example_title"><div class='inline'>
1597
- <p>Validates a key so it has to be an integer superior or equal to 2.</p>
1598
- </div></p>
1599
-
1600
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_integer'>integer</span><span class='lparen'>(</span><span class='symbol'>:an_integer_key</span><span class='comma'>,</span> <span class='label'>min:</span> <span class='int'>2</span><span class='rparen'>)</span></code></pre>
1601
-
1602
- </div>
1603
- <p class="tag_title">Parameters:</p>
1604
- <ul class="param">
1605
-
1606
- <li>
1607
-
1608
- <span class='name'>key</span>
1609
-
1610
-
1611
- <span class='type'>(<tt>Object</tt>)</span>
1612
-
1613
-
1614
-
1615
- &mdash;
1616
- <div class='inline'>
1617
- <p>the key about which verify the type.</p>
1618
- </div>
1619
-
1620
- </li>
651
+ <p class="tag_title">Returns:</p>
652
+ <ul class="return">
1621
653
 
1622
654
  <li>
1623
655
 
1624
- <span class='name'>options</span>
1625
-
1626
656
 
1627
657
  <span class='type'>(<tt>Hash</tt>)</span>
1628
658
 
1629
659
 
1630
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1631
-
1632
660
 
1633
661
  &mdash;
1634
662
  <div class='inline'>
1635
- <p>a hash of options passed to this method (see documentation to know which
1636
- options pass).</p>
663
+ <p>The filtered datas are the datas after they have been filtered (renamed
664
+ keys for example) by the validator.</p>
1637
665
  </div>
1638
666
 
1639
667
  </li>
1640
668
 
1641
669
  </ul>
1642
670
 
1643
-
1644
671
  </div><table class="source_code">
1645
672
  <tr>
1646
673
  <td>
1647
674
  <pre class="lines">
1648
675
 
1649
676
 
1650
- 34
1651
- 35
1652
- 36
1653
- 37</pre>
677
+ </pre>
1654
678
  </td>
1655
679
  <td>
1656
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 34</span>
680
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 15</span>
1657
681
 
1658
- <span class='kw'>def</span> <span class='id identifier rubyid_integer'>integer</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1659
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1660
- <span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A\d+\Z</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store_numeric'>store_numeric</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Integer</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1661
- <span class='kw'>end</span></pre>
682
+ </pre>
1662
683
  </td>
1663
684
  </tr>
1664
685
  </table>
1665
686
  </div>
1666
687
 
688
+
689
+ <span id="handler=-instance_method"></span>
1667
690
  <div class="method_details ">
1668
- <h3 class="signature " id="numeric-instance_method">
691
+ <h3 class="signature " id="handler-instance_method">
1669
692
 
1670
- - (<tt>Object</tt>) <strong>numeric</strong>(key, options = {})
693
+ - (<tt>Object</tt>) <strong>handler</strong>
1671
694
 
1672
695
 
1673
696
 
@@ -1676,32 +699,18 @@ options pass).</p>
1676
699
  </h3><div class="docstring">
1677
700
  <div class="discussion">
1678
701
 
1679
- <p>Checks if the given key is a numeric or not.</p>
702
+ <p>Returns the error handler given to this instance of the validator.</p>
1680
703
 
1681
704
 
1682
705
  </div>
1683
706
  </div>
1684
707
  <div class="tags">
1685
708
 
1686
- <div class="examples">
1687
- <p class="tag_title">Examples:</p>
1688
-
1689
-
1690
- <p class="example_title"><div class='inline'>
1691
- <p>Validates a key so it has to be a numeric, is required and is between 2 and
1692
- 5.5.</p>
1693
- </div></p>
1694
-
1695
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_numeric'>numeric</span><span class='lparen'>(</span><span class='symbol'>:a_numeric_key</span><span class='comma'>,</span> <span class='label'>required:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>between:</span> <span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span> <span class='float'>5.5</span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
1696
-
1697
- </div>
1698
- <p class="tag_title">Parameters:</p>
1699
- <ul class="param">
709
+ <p class="tag_title">Returns:</p>
710
+ <ul class="return">
1700
711
 
1701
712
  <li>
1702
713
 
1703
- <span class='name'>key</span>
1704
-
1705
714
 
1706
715
  <span class='type'>(<tt>Object</tt>)</span>
1707
716
 
@@ -1709,60 +718,99 @@ options pass).</p>
1709
718
 
1710
719
  &mdash;
1711
720
  <div class='inline'>
1712
- <p>the key about which verify the type.</p>
721
+ <p>the error handler given to this instance of the validator.</p>
1713
722
  </div>
1714
723
 
1715
724
  </li>
1716
725
 
1717
- <li>
726
+ </ul>
727
+
728
+ </div><table class="source_code">
729
+ <tr>
730
+ <td>
731
+ <pre class="lines">
732
+
733
+
734
+ </pre>
735
+ </td>
736
+ <td>
737
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 19</span>
738
+
739
+ </pre>
740
+ </td>
741
+ </tr>
742
+ </table>
743
+ </div>
744
+
1718
745
 
1719
- <span class='name'>options</span>
746
+ <span id=""></span>
747
+ <div class="method_details ">
748
+ <h3 class="signature " id="processors-instance_method">
749
+
750
+ - (<tt>Hash</tt>) <strong>processors</strong> <span class="extras">(readonly)</span>
751
+
752
+
753
+
754
+
755
+
756
+ </h3><div class="docstring">
757
+ <div class="discussion">
758
+
759
+ <p>Returns THe processors to process and validate the keys depending on their
760
+ types.</p>
761
+
762
+
763
+ </div>
764
+ </div>
765
+ <div class="tags">
766
+
767
+ <p class="tag_title">Returns:</p>
768
+ <ul class="return">
769
+
770
+ <li>
1720
771
 
1721
772
 
1722
773
  <span class='type'>(<tt>Hash</tt>)</span>
1723
774
 
1724
775
 
1725
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1726
-
1727
776
 
1728
777
  &mdash;
1729
778
  <div class='inline'>
1730
- <p>a hash of options passed to this method (see documentation to know which
1731
- options pass).</p>
779
+ <p>THe processors to process and validate the keys depending on their types.</p>
1732
780
  </div>
1733
781
 
1734
782
  </li>
1735
783
 
1736
784
  </ul>
1737
785
 
1738
-
1739
786
  </div><table class="source_code">
1740
787
  <tr>
1741
788
  <td>
1742
789
  <pre class="lines">
1743
790
 
1744
791
 
1745
- 44
1746
- 45
1747
- 46
1748
- 47</pre>
792
+ </pre>
1749
793
  </td>
1750
794
  <td>
1751
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 44</span>
795
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 11</span>
1752
796
 
1753
- <span class='kw'>def</span> <span class='id identifier rubyid_numeric'>numeric</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1754
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1755
- <span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A([+-]?\d+)([,.](\d+))?\Z</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store_decimal'>store_decimal</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_sub'>sub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>,</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Numeric</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1756
- <span class='kw'>end</span></pre>
797
+ </pre>
1757
798
  </td>
1758
799
  </tr>
1759
800
  </table>
1760
801
  </div>
1761
802
 
1762
- <div class="method_details ">
1763
- <h3 class="signature " id="ssid-instance_method">
803
+ </div>
804
+
805
+
806
+ <div id="instance_method_details" class="method_details_list">
807
+ <h2>Instance Method Details</h2>
808
+
809
+
810
+ <div class="method_details first">
811
+ <h3 class="signature first" id="hash-instance_method">
1764
812
 
1765
- - (<tt>Object</tt>) <strong>ssid</strong>(key, options = {})
813
+ - (<tt>Object</tt>) <strong>hash</strong>(key, options = {})
1766
814
 
1767
815
 
1768
816
 
@@ -1771,7 +819,8 @@ options pass).</p>
1771
819
  </h3><div class="docstring">
1772
820
  <div class="discussion">
1773
821
 
1774
- <p>Checks if the given key is a SSID for a MongoDB object or not.</p>
822
+ <p>Checks if the given key is a hash or not. This method MUST be defined to
823
+ override the #hash method with these parameters.</p>
1775
824
 
1776
825
 
1777
826
  </div>
@@ -1783,10 +832,10 @@ options pass).</p>
1783
832
 
1784
833
 
1785
834
  <p class="example_title"><div class='inline'>
1786
- <p>Validates a key so it has to be a MongoDB SSID.</p>
835
+ <p>Validates a key so it has to be a hash, and checks if it has some keys.</p>
1787
836
  </div></p>
1788
837
 
1789
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ssid'>ssid</span><span class='lparen'>(</span><span class='symbol'>:a_ssid</span><span class='rparen'>)</span></code></pre>
838
+ <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_date'>date</span><span class='lparen'>(</span><span class='symbol'>:a_hash</span><span class='comma'>,</span> <span class='label'>has_keys:</span> <span class='lbracket'>[</span><span class='symbol'>:first</span><span class='comma'>,</span> <span class='symbol'>:second</span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
1790
839
 
1791
840
  </div>
1792
841
  <p class="tag_title">Parameters:</p>
@@ -1836,17 +885,15 @@ options pass).</p>
1836
885
  <pre class="lines">
1837
886
 
1838
887
 
1839
- 124
1840
- 125
1841
- 126
1842
- 127</pre>
888
+ 60
889
+ 61
890
+ 62</pre>
1843
891
  </td>
1844
892
  <td>
1845
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 124</span>
893
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 60</span>
1846
894
 
1847
- <span class='kw'>def</span> <span class='id identifier rubyid_ssid'>ssid</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1848
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1849
- <span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^[0-9a-fA-F]{24}$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='const'>BSON</span><span class='op'>::</span><span class='const'>ObjectId</span><span class='period'>.</span><span class='id identifier rubyid_from_string'>from_string</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Moped::BSON::ObjectId</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
895
+ <span class='kw'>def</span> <span class='id identifier rubyid_hash'>hash</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
896
+ <span class='id identifier rubyid_processors'>processors</span><span class='lbracket'>[</span><span class='symbol'>:hash</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_process'>process</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1850
897
  <span class='kw'>end</span></pre>
1851
898
  </td>
1852
899
  </tr>
@@ -1854,9 +901,9 @@ options pass).</p>
1854
901
  </div>
1855
902
 
1856
903
  <div class="method_details ">
1857
- <h3 class="signature " id="text-instance_method">
904
+ <h3 class="signature " id="respond_to?-instance_method">
1858
905
 
1859
- - (<tt>Object</tt>) <strong>text</strong>(key, options = {})
906
+ - (<tt>Boolean</tt>) <strong>respond_to?</strong>(name, search_private = false)
1860
907
 
1861
908
 
1862
909
 
@@ -1865,83 +912,40 @@ options pass).</p>
1865
912
  </h3><div class="docstring">
1866
913
  <div class="discussion">
1867
914
 
1868
- <p>Checks if the given key is a not-empty string or not.</p>
1869
-
1870
915
 
1871
916
  </div>
1872
917
  </div>
1873
918
  <div class="tags">
1874
919
 
1875
- <div class="examples">
1876
- <p class="tag_title">Examples:</p>
1877
-
1878
-
1879
- <p class="example_title"><div class='inline'>
1880
- <p>Validates a key so it has to be a string, and seems like and email address
1881
- (not sure of the regular expression though).</p>
1882
- </div></p>
1883
-
1884
- <pre class="example code"><code><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span><span class='lparen'>(</span><span class='symbol'>:an_email</span><span class='comma'>,</span> <span class='label'>regex:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]{2-4}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span></code></pre>
1885
-
1886
- </div>
1887
- <p class="tag_title">Parameters:</p>
1888
- <ul class="param">
1889
-
1890
- <li>
1891
-
1892
- <span class='name'>key</span>
1893
-
1894
-
1895
- <span class='type'>(<tt>Object</tt>)</span>
1896
-
1897
-
1898
-
1899
- &mdash;
1900
- <div class='inline'>
1901
- <p>the key about which verify the type.</p>
1902
- </div>
1903
-
1904
- </li>
920
+ <p class="tag_title">Returns:</p>
921
+ <ul class="return">
1905
922
 
1906
923
  <li>
1907
924
 
1908
- <span class='name'>options</span>
1909
-
1910
-
1911
- <span class='type'>(<tt>Hash</tt>)</span>
1912
-
1913
925
 
1914
- <em class="default">(defaults to: <tt>{}</tt>)</em>
926
+ <span class='type'>(<tt>Boolean</tt>)</span>
1915
927
 
1916
928
 
1917
- &mdash;
1918
- <div class='inline'>
1919
- <p>a hash of options passed to this method (see documentation to know which
1920
- options pass).</p>
1921
- </div>
1922
929
 
1923
930
  </li>
1924
931
 
1925
932
  </ul>
1926
933
 
1927
-
1928
934
  </div><table class="source_code">
1929
935
  <tr>
1930
936
  <td>
1931
937
  <pre class="lines">
1932
938
 
1933
939
 
1934
- 54
1935
- 55
1936
- 56
1937
- 57</pre>
940
+ 50
941
+ 51
942
+ 52</pre>
1938
943
  </td>
1939
944
  <td>
1940
- <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 54</span>
945
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 50</span>
1941
946
 
1942
- <span class='kw'>def</span> <span class='id identifier rubyid_text'>text</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1943
- <span class='id identifier rubyid_before_all'>before_all</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1944
- <span class='id identifier rubyid_is_typed?'>is_typed?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='const'>String</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_store_text'>store_text</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span><span class='tlambeg'>{</span><span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise_type_error'>raise_type_error</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>String</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
947
+ <span class='kw'>def</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_search_private'>search_private</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
948
+ <span class='id identifier rubyid_processors'>processors</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>super</span>
1945
949
  <span class='kw'>end</span></pre>
1946
950
  </td>
1947
951
  </tr>
@@ -1953,7 +957,7 @@ options pass).</p>
1953
957
  </div>
1954
958
 
1955
959
  <div id="footer">
1956
- Generated on Tue May 17 11:54:24 2016 by
960
+ Generated on Thu Jun 2 16:20:55 2016 by
1957
961
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1958
962
  0.8.7.6 (ruby-1.9.3).
1959
963
  </div>