kharon 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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>