kharon 0.5.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -1
  4. data/Gemfile +1 -10
  5. data/Gemfile.lock +29 -16
  6. data/README.md +135 -26
  7. data/{kharon-0.0.1.gem → dist/kharon-0.0.1.gem} +0 -0
  8. data/{kharon-0.0.2.gem → dist/kharon-0.0.2.gem} +0 -0
  9. data/{kharon-0.0.3.gem → dist/kharon-0.0.3.gem} +0 -0
  10. data/{kharon-0.1.0.gem → dist/kharon-0.1.0.gem} +0 -0
  11. data/{kharon-0.2.0.gem → dist/kharon-0.2.0.gem} +0 -0
  12. data/{kharon-0.3.0.gem → dist/kharon-0.3.0.gem} +0 -0
  13. data/{kharon-0.3.1.gem → dist/kharon-0.3.1.gem} +0 -0
  14. data/{kharon-0.4.0.gem → dist/kharon-0.4.0.gem} +0 -0
  15. data/{kharon-0.5.0.gem → dist/kharon-0.5.0.gem} +0 -0
  16. data/dist/kharon-0.5.1.gem +0 -0
  17. data/doc/Kharon.html +364 -0
  18. data/doc/Kharon/Configuration.html +452 -0
  19. data/doc/Kharon/Errors.html +145 -0
  20. data/doc/Kharon/Errors/Validation.html +436 -0
  21. data/doc/Kharon/Handlers.html +144 -0
  22. data/doc/Kharon/Handlers/Exceptions.html +273 -0
  23. data/doc/Kharon/Handlers/Messages.html +425 -0
  24. data/doc/Kharon/Helpers.html +277 -0
  25. data/doc/Kharon/Validator.html +1962 -0
  26. data/doc/_index.html +187 -0
  27. data/doc/class_list.html +58 -0
  28. data/doc/css/common.css +1 -0
  29. data/doc/css/full_list.css +57 -0
  30. data/doc/css/style.css +339 -0
  31. data/doc/file.README.html +415 -0
  32. data/doc/file.results.html +1578 -0
  33. data/doc/file_list.html +63 -0
  34. data/doc/frames.html +26 -0
  35. data/doc/index.html +415 -0
  36. data/doc/js/app.js +219 -0
  37. data/doc/js/full_list.js +181 -0
  38. data/doc/js/jquery.js +4 -0
  39. data/doc/method_list.html +207 -0
  40. data/doc/top-level-namespace.html +112 -0
  41. data/kharon.gemspec +9 -1
  42. data/lib/kharon.rb +7 -11
  43. data/lib/kharon/errors.rb +7 -0
  44. data/lib/kharon/errors/validation.rb +2 -0
  45. data/lib/kharon/handlers.rb +8 -0
  46. data/lib/kharon/handlers/exceptions.rb +3 -1
  47. data/lib/kharon/handlers/messages.rb +11 -4
  48. data/lib/kharon/validator.rb +17 -5
  49. data/lib/kharon/version.rb +2 -1
  50. data/spec/lib/kharon/handlers/messages_spec.rb +11 -0
  51. data/spec/lib/kharon/validator_spec.rb +6 -0
  52. data/spec/results.html +1506 -0
  53. metadata +140 -20
  54. data/lib/kharon/configuration.rb +0 -28
  55. data/lib/kharon/helpers/validate.rb +0 -15
@@ -0,0 +1,277 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Kharon::Helpers
8
+
9
+ &mdash; Documentation by YARD 0.8.7.6
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!Kharon/Helpers.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (H)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Kharon.html" title="Kharon (module)">Kharon</a></span></span>
36
+ &raquo;
37
+ <span class="title">Helpers</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Module: Kharon::Helpers
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/kharon/helpers.rb<span class="defines">,<br />
83
+ lib/kharon/helpers/validate.rb</span>
84
+ </dd>
85
+
86
+ </dl>
87
+ <div class="clear"></div>
88
+
89
+ <h2>Overview</h2><div class="docstring">
90
+ <div class="discussion">
91
+
92
+ <p>This module contains helpers made for Rails or Sinatra applications and
93
+ using the Kharon validator.</p>
94
+
95
+
96
+ </div>
97
+ </div>
98
+ <div class="tags">
99
+
100
+ <p class="tag_title">Author:</p>
101
+ <ul class="author">
102
+
103
+ <li>
104
+
105
+
106
+
107
+
108
+
109
+ <div class='inline'>
110
+ <p>Vincent Courtois &lt;courtois.vincent@outlook.com&gt;</p>
111
+ </div>
112
+
113
+ </li>
114
+
115
+ </ul>
116
+
117
+ </div>
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ <h2>
126
+ Instance Method Summary
127
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
128
+ </h2>
129
+
130
+ <ul class="summary">
131
+
132
+ <li class="public ">
133
+ <span class="summary_signature">
134
+
135
+ <a href="#validate-instance_method" title="#validate (instance method)">- (Hash) <strong>validate</strong>(datas, &amp;block) </a>
136
+
137
+
138
+
139
+ </span>
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ <span class="summary_desc"><div class='inline'>
150
+ <p>Validates the datas passed as parameter with a Phenix::Validator and the
151
+ given instructions.</p>
152
+ </div></span>
153
+
154
+ </li>
155
+
156
+
157
+ </ul>
158
+
159
+
160
+
161
+
162
+ <div id="instance_method_details" class="method_details_list">
163
+ <h2>Instance Method Details</h2>
164
+
165
+
166
+ <div class="method_details first">
167
+ <h3 class="signature first" id="validate-instance_method">
168
+
169
+ - (<tt>Hash</tt>) <strong>validate</strong>(datas, &amp;block)
170
+
171
+
172
+
173
+
174
+
175
+ </h3><div class="docstring">
176
+ <div class="discussion">
177
+
178
+ <p>Validates the datas passed as parameter with a Phenix::Validator and the
179
+ given instructions.</p>
180
+
181
+
182
+ </div>
183
+ </div>
184
+ <div class="tags">
185
+ <p class="tag_title">Parameters:</p>
186
+ <ul class="param">
187
+
188
+ <li>
189
+
190
+ <span class='name'>datas</span>
191
+
192
+
193
+ <span class='type'>(<tt>Hash</tt>)</span>
194
+
195
+
196
+
197
+ &mdash;
198
+ <div class='inline'>
199
+ <p>the parameters to validate with the given instructions.</p>
200
+ </div>
201
+
202
+ </li>
203
+
204
+ <li>
205
+
206
+ <span class='name'>block</span>
207
+
208
+
209
+ <span class='type'>(<tt>Proc</tt>)</span>
210
+
211
+
212
+
213
+ &mdash;
214
+ <div class='inline'>
215
+ <p>the instructions to apply on the validator.</p>
216
+ </div>
217
+
218
+ </li>
219
+
220
+ </ul>
221
+
222
+ <p class="tag_title">Returns:</p>
223
+ <ul class="return">
224
+
225
+ <li>
226
+
227
+
228
+ <span class='type'>(<tt>Hash</tt>)</span>
229
+
230
+
231
+
232
+ &mdash;
233
+ <div class='inline'>
234
+ <p>the validated and filtered datas.</p>
235
+ </div>
236
+
237
+ </li>
238
+
239
+ </ul>
240
+
241
+ </div><table class="source_code">
242
+ <tr>
243
+ <td>
244
+ <pre class="lines">
245
+
246
+
247
+ 8
248
+ 9
249
+ 10
250
+ 11
251
+ 12</pre>
252
+ </td>
253
+ <td>
254
+ <pre class="code"><span class="info file"># File 'lib/kharon/helpers/validate.rb', line 8</span>
255
+
256
+ <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>
257
+ <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>
258
+ <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>
259
+ <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>
260
+ <span class='kw'>end</span></pre>
261
+ </td>
262
+ </tr>
263
+ </table>
264
+ </div>
265
+
266
+ </div>
267
+
268
+ </div>
269
+
270
+ <div id="footer">
271
+ Generated on Thu Jun 11 10:14:41 2015 by
272
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
273
+ 0.8.7.6 (ruby-1.9.3).
274
+ </div>
275
+
276
+ </body>
277
+ </html>
@@ -0,0 +1,1962 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Kharon::Validator
8
+
9
+ &mdash; Documentation by YARD 0.8.7.6
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!Kharon/Validator.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (V)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Kharon.html" title="Kharon (module)">Kharon</a></span></span>
36
+ &raquo;
37
+ <span class="title">Validator</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Kharon::Validator
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">Kharon::Validator</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/kharon/validator.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>The validator is the main class of Kharon, it validates a hash given a
106
+ structure.</p>
107
+
108
+
109
+ </div>
110
+ </div>
111
+ <div class="tags">
112
+
113
+ <p class="tag_title">Author:</p>
114
+ <ul class="author">
115
+
116
+ <li>
117
+
118
+
119
+
120
+
121
+
122
+ <div class='inline'>
123
+ <p>Vincent Courtois &lt;courtois.vincent@outlook.com&gt;</p>
124
+ </div>
125
+
126
+ </li>
127
+
128
+ </ul>
129
+
130
+ </div>
131
+
132
+
133
+
134
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
135
+ <ul class="summary">
136
+
137
+ <li class="public ">
138
+ <span class="summary_signature">
139
+
140
+ <a href="#datas-instance_method" title="#datas (instance method)">- (Hash) <strong>datas</strong> </a>
141
+
142
+
143
+
144
+ </span>
145
+
146
+
147
+
148
+
149
+ <span class="note title readonly">readonly</span>
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+ <span class="summary_desc"><div class='inline'>
160
+ <p>The datas to filter, they shouldn't be modified to guarantee their
161
+ integrity.</p>
162
+ </div></span>
163
+
164
+ </li>
165
+
166
+
167
+ <li class="public ">
168
+ <span class="summary_signature">
169
+
170
+ <a href="#filtered-instance_method" title="#filtered (instance method)">- (Hash) <strong>filtered</strong> </a>
171
+
172
+
173
+
174
+ </span>
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+ <span class="summary_desc"><div class='inline'>
188
+ <p>The filtered datas are the datas after they have been filtered (renamed
189
+ keys for example) by the validator.</p>
190
+ </div></span>
191
+
192
+ </li>
193
+
194
+
195
+ <li class="public ">
196
+ <span class="summary_signature">
197
+
198
+ <a href="#handler-instance_method" title="#handler (instance method)">- (Object) <strong>handler</strong> </a>
199
+
200
+
201
+
202
+ </span>
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+ <span class="summary_desc"><div class='inline'>
216
+ <p>The error handler given to this instance of the validator.</p>
217
+ </div></span>
218
+
219
+ </li>
220
+
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 ">
308
+ <span class="summary_signature">
309
+
310
+ <a href="#box-instance_method" title="#box (instance method)">- (Object) <strong>box</strong>(key, options = {}) </a>
311
+
312
+
313
+
314
+ </span>
315
+
316
+
317
+
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
+
334
+ <a href="#date-instance_method" title="#date (instance method)">- (Object) <strong>date</strong>(key, options = {}) </a>
335
+
336
+
337
+
338
+ </span>
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+ <span class="summary_desc"><div class='inline'>
349
+ <p>Checks if the given key is a date or not.</p>
350
+ </div></span>
351
+
352
+ </li>
353
+
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
+
362
+ </span>
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
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
+
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
+
385
+
386
+ </span>
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
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>
401
+
402
+
403
+ <li class="public ">
404
+ <span class="summary_signature">
405
+
406
+ <a href="#hash-instance_method" title="#hash (instance method)">- (Object) <strong>hash</strong>(key, options = {}) </a>
407
+
408
+
409
+
410
+ </span>
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+ <span class="summary_desc"><div class='inline'>
421
+ <p>Checks if the given key is a hash or not.</p>
422
+ </div></span>
423
+
424
+ </li>
425
+
426
+
427
+ <li class="public ">
428
+ <span class="summary_signature">
429
+
430
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Validator) <strong>initialize</strong>(datas) </a>
431
+
432
+
433
+
434
+ </span>
435
+
436
+
437
+ <span class="note title constructor">constructor</span>
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+ <span class="summary_desc"><div class='inline'>
447
+ <p>Constructor of the classe, receiving the datas to validate and filter.</p>
448
+ </div></span>
449
+
450
+ </li>
451
+
452
+
453
+ <li class="public ">
454
+ <span class="summary_signature">
455
+
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>
505
+
506
+
507
+
508
+ </span>
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+ <span class="summary_desc"><div class='inline'>
519
+ <p>Checks if the given key is a SSID for a MongoDB object or not.</p>
520
+ </div></span>
521
+
522
+ </li>
523
+
524
+
525
+ <li class="public ">
526
+ <span class="summary_signature">
527
+
528
+ <a href="#text-instance_method" title="#text (instance method)">- (Object) <strong>text</strong>(key, options = {}) </a>
529
+
530
+
531
+
532
+ </span>
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
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>
545
+
546
+ </li>
547
+
548
+
549
+ </ul>
550
+
551
+
552
+ <div id="constructor_details" class="method_details_list">
553
+ <h2>Constructor Details</h2>
554
+
555
+ <div class="method_details first">
556
+ <h3 class="signature first" id="initialize-instance_method">
557
+
558
+ - (<tt><span class='object_link'><a href="" title="Kharon::Validator (class)">Validator</a></span></tt>) <strong>initialize</strong>(datas)
559
+
560
+
561
+
562
+
563
+
564
+ </h3><div class="docstring">
565
+ <div class="discussion">
566
+
567
+ <p>Constructor of the classe, receiving the datas to validate and filter.</p>
568
+
569
+
570
+ </div>
571
+ </div>
572
+ <div class="tags">
573
+
574
+ <div class="examples">
575
+ <p class="tag_title">Examples:</p>
576
+
577
+
578
+ <p class="example_title"><div class='inline'>
579
+ <p>create a new instance of validator.</p>
580
+ </div></p>
581
+
582
+ <pre class="example code"><code><span class='ivar'>@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='lbrace'>{</span><span class='label'>key:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
583
+
584
+ </div>
585
+ <p class="tag_title">Parameters:</p>
586
+ <ul class="param">
587
+
588
+ <li>
589
+
590
+ <span class='name'>datas</span>
591
+
592
+
593
+ <span class='type'>(<tt>Hash</tt>)</span>
594
+
595
+
596
+
597
+ &mdash;
598
+ <div class='inline'>
599
+ <p>the datas to validate in the validator.</p>
600
+ </div>
601
+
602
+ </li>
603
+
604
+ </ul>
605
+
606
+
607
+ </div><table class="source_code">
608
+ <tr>
609
+ <td>
610
+ <pre class="lines">
611
+
612
+
613
+ 23
614
+ 24
615
+ 25
616
+ 26
617
+ 27</pre>
618
+ </td>
619
+ <td>
620
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 23</span>
621
+
622
+ <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>
626
+ <span class='kw'>end</span></pre>
627
+ </td>
628
+ </tr>
629
+ </table>
630
+ </div>
631
+
632
+ </div>
633
+
634
+ <div id="instance_attr_details" class="attr_details">
635
+ <h2>Instance Attribute Details</h2>
636
+
637
+
638
+ <span id=""></span>
639
+ <div class="method_details first">
640
+ <h3 class="signature first" id="datas-instance_method">
641
+
642
+ - (<tt>Hash</tt>) <strong>datas</strong> <span class="extras">(readonly)</span>
643
+
644
+
645
+
646
+
647
+
648
+ </h3><div class="docstring">
649
+ <div class="discussion">
650
+
651
+ <p>Returns The datas to filter, they shouldn’t be modified to guarantee their
652
+ integrity.</p>
653
+
654
+
655
+ </div>
656
+ </div>
657
+ <div class="tags">
658
+
659
+ <p class="tag_title">Returns:</p>
660
+ <ul class="return">
661
+
662
+ <li>
663
+
664
+
665
+ <span class='type'>(<tt>Hash</tt>)</span>
666
+
667
+
668
+
669
+ &mdash;
670
+ <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">
1417
+
1418
+ <li>
1419
+
1420
+ <span class='name'>key</span>
1421
+
1422
+
1423
+ <span class='type'>(<tt>Object</tt>)</span>
1424
+
1425
+
1426
+
1427
+ &mdash;
1428
+ <div class='inline'>
1429
+ <p>the key about which verify the type.</p>
1430
+ </div>
1431
+
1432
+ </li>
1433
+
1434
+ <li>
1435
+
1436
+ <span class='name'>options</span>
1437
+
1438
+
1439
+ <span class='type'>(<tt>Hash</tt>)</span>
1440
+
1441
+
1442
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1443
+
1444
+
1445
+ &mdash;
1446
+ <div class='inline'>
1447
+ <p>a hash of options passed to this method (see documentation to know which
1448
+ options pass).</p>
1449
+ </div>
1450
+
1451
+ </li>
1452
+
1453
+ </ul>
1454
+
1455
+
1456
+ </div><table class="source_code">
1457
+ <tr>
1458
+ <td>
1459
+ <pre class="lines">
1460
+
1461
+
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>
1473
+ <span class='kw'>end</span></pre>
1474
+ </td>
1475
+ </tr>
1476
+ </table>
1477
+ </div>
1478
+
1479
+ <div class="method_details ">
1480
+ <h3 class="signature " id="hash-instance_method">
1481
+
1482
+ - (<tt>Object</tt>) <strong>hash</strong>(key, options = {})
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+ </h3><div class="docstring">
1489
+ <div class="discussion">
1490
+
1491
+ <p>Checks if the given key is a hash or not.</p>
1492
+
1493
+
1494
+ </div>
1495
+ </div>
1496
+ <div class="tags">
1497
+
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>
1527
+
1528
+ <li>
1529
+
1530
+ <span class='name'>options</span>
1531
+
1532
+
1533
+ <span class='type'>(<tt>Hash</tt>)</span>
1534
+
1535
+
1536
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1537
+
1538
+
1539
+ &mdash;
1540
+ <div class='inline'>
1541
+ <p>a hash of options passed to this method (see documentation to know which
1542
+ options pass).</p>
1543
+ </div>
1544
+
1545
+ </li>
1546
+
1547
+ </ul>
1548
+
1549
+
1550
+ </div><table class="source_code">
1551
+ <tr>
1552
+ <td>
1553
+ <pre class="lines">
1554
+
1555
+
1556
+ 104
1557
+ 105
1558
+ 106
1559
+ 107</pre>
1560
+ </td>
1561
+ <td>
1562
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 104</span>
1563
+
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>
1568
+ </td>
1569
+ </tr>
1570
+ </table>
1571
+ </div>
1572
+
1573
+ <div class="method_details ">
1574
+ <h3 class="signature " id="integer-instance_method">
1575
+
1576
+ - (<tt>Object</tt>) <strong>integer</strong>(key, options = {})
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+ </h3><div class="docstring">
1583
+ <div class="discussion">
1584
+
1585
+ <p>Checks if the given key is an integer or not.</p>
1586
+
1587
+
1588
+ </div>
1589
+ </div>
1590
+ <div class="tags">
1591
+
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>
1621
+
1622
+ <li>
1623
+
1624
+ <span class='name'>options</span>
1625
+
1626
+
1627
+ <span class='type'>(<tt>Hash</tt>)</span>
1628
+
1629
+
1630
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1631
+
1632
+
1633
+ &mdash;
1634
+ <div class='inline'>
1635
+ <p>a hash of options passed to this method (see documentation to know which
1636
+ options pass).</p>
1637
+ </div>
1638
+
1639
+ </li>
1640
+
1641
+ </ul>
1642
+
1643
+
1644
+ </div><table class="source_code">
1645
+ <tr>
1646
+ <td>
1647
+ <pre class="lines">
1648
+
1649
+
1650
+ 34
1651
+ 35
1652
+ 36
1653
+ 37</pre>
1654
+ </td>
1655
+ <td>
1656
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 34</span>
1657
+
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>
1662
+ </td>
1663
+ </tr>
1664
+ </table>
1665
+ </div>
1666
+
1667
+ <div class="method_details ">
1668
+ <h3 class="signature " id="numeric-instance_method">
1669
+
1670
+ - (<tt>Object</tt>) <strong>numeric</strong>(key, options = {})
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+ </h3><div class="docstring">
1677
+ <div class="discussion">
1678
+
1679
+ <p>Checks if the given key is a numeric or not.</p>
1680
+
1681
+
1682
+ </div>
1683
+ </div>
1684
+ <div class="tags">
1685
+
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">
1700
+
1701
+ <li>
1702
+
1703
+ <span class='name'>key</span>
1704
+
1705
+
1706
+ <span class='type'>(<tt>Object</tt>)</span>
1707
+
1708
+
1709
+
1710
+ &mdash;
1711
+ <div class='inline'>
1712
+ <p>the key about which verify the type.</p>
1713
+ </div>
1714
+
1715
+ </li>
1716
+
1717
+ <li>
1718
+
1719
+ <span class='name'>options</span>
1720
+
1721
+
1722
+ <span class='type'>(<tt>Hash</tt>)</span>
1723
+
1724
+
1725
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1726
+
1727
+
1728
+ &mdash;
1729
+ <div class='inline'>
1730
+ <p>a hash of options passed to this method (see documentation to know which
1731
+ options pass).</p>
1732
+ </div>
1733
+
1734
+ </li>
1735
+
1736
+ </ul>
1737
+
1738
+
1739
+ </div><table class="source_code">
1740
+ <tr>
1741
+ <td>
1742
+ <pre class="lines">
1743
+
1744
+
1745
+ 44
1746
+ 45
1747
+ 46
1748
+ 47</pre>
1749
+ </td>
1750
+ <td>
1751
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 44</span>
1752
+
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>
1757
+ </td>
1758
+ </tr>
1759
+ </table>
1760
+ </div>
1761
+
1762
+ <div class="method_details ">
1763
+ <h3 class="signature " id="ssid-instance_method">
1764
+
1765
+ - (<tt>Object</tt>) <strong>ssid</strong>(key, options = {})
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+ </h3><div class="docstring">
1772
+ <div class="discussion">
1773
+
1774
+ <p>Checks if the given key is a SSID for a MongoDB object or not.</p>
1775
+
1776
+
1777
+ </div>
1778
+ </div>
1779
+ <div class="tags">
1780
+
1781
+ <div class="examples">
1782
+ <p class="tag_title">Examples:</p>
1783
+
1784
+
1785
+ <p class="example_title"><div class='inline'>
1786
+ <p>Validates a key so it has to be a MongoDB SSID.</p>
1787
+ </div></p>
1788
+
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>
1790
+
1791
+ </div>
1792
+ <p class="tag_title">Parameters:</p>
1793
+ <ul class="param">
1794
+
1795
+ <li>
1796
+
1797
+ <span class='name'>key</span>
1798
+
1799
+
1800
+ <span class='type'>(<tt>Object</tt>)</span>
1801
+
1802
+
1803
+
1804
+ &mdash;
1805
+ <div class='inline'>
1806
+ <p>the key about which verify the type.</p>
1807
+ </div>
1808
+
1809
+ </li>
1810
+
1811
+ <li>
1812
+
1813
+ <span class='name'>options</span>
1814
+
1815
+
1816
+ <span class='type'>(<tt>Hash</tt>)</span>
1817
+
1818
+
1819
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1820
+
1821
+
1822
+ &mdash;
1823
+ <div class='inline'>
1824
+ <p>a hash of options passed to this method (see documentation to know which
1825
+ options pass).</p>
1826
+ </div>
1827
+
1828
+ </li>
1829
+
1830
+ </ul>
1831
+
1832
+
1833
+ </div><table class="source_code">
1834
+ <tr>
1835
+ <td>
1836
+ <pre class="lines">
1837
+
1838
+
1839
+ 124
1840
+ 125
1841
+ 126
1842
+ 127</pre>
1843
+ </td>
1844
+ <td>
1845
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 124</span>
1846
+
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>
1850
+ <span class='kw'>end</span></pre>
1851
+ </td>
1852
+ </tr>
1853
+ </table>
1854
+ </div>
1855
+
1856
+ <div class="method_details ">
1857
+ <h3 class="signature " id="text-instance_method">
1858
+
1859
+ - (<tt>Object</tt>) <strong>text</strong>(key, options = {})
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+ </h3><div class="docstring">
1866
+ <div class="discussion">
1867
+
1868
+ <p>Checks if the given key is a not-empty string or not.</p>
1869
+
1870
+
1871
+ </div>
1872
+ </div>
1873
+ <div class="tags">
1874
+
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>
1905
+
1906
+ <li>
1907
+
1908
+ <span class='name'>options</span>
1909
+
1910
+
1911
+ <span class='type'>(<tt>Hash</tt>)</span>
1912
+
1913
+
1914
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1915
+
1916
+
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
+
1923
+ </li>
1924
+
1925
+ </ul>
1926
+
1927
+
1928
+ </div><table class="source_code">
1929
+ <tr>
1930
+ <td>
1931
+ <pre class="lines">
1932
+
1933
+
1934
+ 54
1935
+ 55
1936
+ 56
1937
+ 57</pre>
1938
+ </td>
1939
+ <td>
1940
+ <pre class="code"><span class="info file"># File 'lib/kharon/validator.rb', line 54</span>
1941
+
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>
1945
+ <span class='kw'>end</span></pre>
1946
+ </td>
1947
+ </tr>
1948
+ </table>
1949
+ </div>
1950
+
1951
+ </div>
1952
+
1953
+ </div>
1954
+
1955
+ <div id="footer">
1956
+ Generated on Tue Sep 15 10:54:07 2015 by
1957
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1958
+ 0.8.7.6 (ruby-1.9.3).
1959
+ </div>
1960
+
1961
+ </body>
1962
+ </html>