otoroshi 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/otoroshi/exceptions.rb +10 -10
- data/lib/otoroshi/initializer.rb +137 -0
- data/lib/otoroshi/sanctuary.rb +43 -182
- metadata +3 -20
- data/lib/doc/Example.html +0 -244
- data/lib/doc/Otoroshi.html +0 -115
- data/lib/doc/Otoroshi/Sanctuary.html +0 -223
- data/lib/doc/Otoroshi/Sanctuary/ClassMethods.html +0 -1511
- data/lib/doc/_index.html +0 -137
- data/lib/doc/class_list.html +0 -51
- data/lib/doc/css/common.css +0 -1
- data/lib/doc/css/full_list.css +0 -58
- data/lib/doc/css/style.css +0 -496
- data/lib/doc/file.README.html +0 -290
- data/lib/doc/file_list.html +0 -56
- data/lib/doc/frames.html +0 -17
- data/lib/doc/index.html +0 -290
- data/lib/doc/js/app.js +0 -314
- data/lib/doc/js/full_list.js +0 -216
- data/lib/doc/js/jquery.js +0 -4
- data/lib/doc/method_list.html +0 -155
- data/lib/doc/top-level-namespace.html +0 -110
@@ -1,1511 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
-
<title>
|
7
|
-
Module: Otoroshi::Sanctuary::ClassMethods
|
8
|
-
|
9
|
-
— Documentation by YARD 0.9.25
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
|
16
|
-
|
17
|
-
<script type="text/javascript">
|
18
|
-
pathId = "Otoroshi::Sanctuary::ClassMethods";
|
19
|
-
relpath = '../../';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
|
23
|
-
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
24
|
-
|
25
|
-
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
26
|
-
|
27
|
-
|
28
|
-
</head>
|
29
|
-
<body>
|
30
|
-
<div class="nav_wrap">
|
31
|
-
<iframe id="nav" src="../../class_list.html?1"></iframe>
|
32
|
-
<div id="resizer"></div>
|
33
|
-
</div>
|
34
|
-
|
35
|
-
<div id="main" tabindex="-1">
|
36
|
-
<div id="header">
|
37
|
-
<div id="menu">
|
38
|
-
|
39
|
-
<a href="../../_index.html">Index (C)</a> »
|
40
|
-
<span class='title'><span class='object_link'><a href="../../Otoroshi.html" title="Otoroshi (module)">Otoroshi</a></span></span> » <span class='title'><span class='object_link'><a href="../Sanctuary.html" title="Otoroshi::Sanctuary (module)">Sanctuary</a></span></span>
|
41
|
-
»
|
42
|
-
<span class="title">ClassMethods</span>
|
43
|
-
|
44
|
-
</div>
|
45
|
-
|
46
|
-
<div id="search">
|
47
|
-
|
48
|
-
<a class="full_list_link" id="class_list_link"
|
49
|
-
href="../../class_list.html">
|
50
|
-
|
51
|
-
<svg width="24" height="24">
|
52
|
-
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
-
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
-
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
-
</svg>
|
56
|
-
</a>
|
57
|
-
|
58
|
-
</div>
|
59
|
-
<div class="clear"></div>
|
60
|
-
</div>
|
61
|
-
|
62
|
-
<div id="content"><h1>Module: Otoroshi::Sanctuary::ClassMethods
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
</h1>
|
67
|
-
<div class="box_info">
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
<dl>
|
80
|
-
<dt>Defined in:</dt>
|
81
|
-
<dd>lib/otoroshi/sanctuary.rb</dd>
|
82
|
-
</dl>
|
83
|
-
|
84
|
-
</div>
|
85
|
-
|
86
|
-
<h2>Overview</h2><div class="docstring">
|
87
|
-
<div class="discussion">
|
88
|
-
|
89
|
-
<p>Class methods extended for the base class</p>
|
90
|
-
|
91
|
-
|
92
|
-
</div>
|
93
|
-
</div>
|
94
|
-
<div class="tags">
|
95
|
-
|
96
|
-
|
97
|
-
</div>
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
<h2>
|
106
|
-
Instance Method Summary
|
107
|
-
<small><a href="#" class="summary_toggle">collapse</a></small>
|
108
|
-
</h2>
|
109
|
-
|
110
|
-
<ul class="summary">
|
111
|
-
|
112
|
-
<li class="private ">
|
113
|
-
<span class="summary_signature">
|
114
|
-
|
115
|
-
<a href="#add_to_properties-instance_method" title="#add_to_properties (instance method)">#<strong>add_to_properties</strong>(name, allow_nil, default) ⇒ void </a>
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
</span>
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
<span class="note title private">private</span>
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
<span class="summary_desc"><div class='inline'>
|
130
|
-
<p>Updates <span class='object_link'><a href="#properties-instance_method" title="Otoroshi::Sanctuary::ClassMethods#properties (method)">#properties</a></span> to add new property to the returned ones.</p>
|
131
|
-
</div></span>
|
132
|
-
|
133
|
-
</li>
|
134
|
-
|
135
|
-
|
136
|
-
<li class="private ">
|
137
|
-
<span class="summary_signature">
|
138
|
-
|
139
|
-
<a href="#default_parameter_for-instance_method" title="#default_parameter_for (instance method)">#<strong>default_parameter_for</strong>(allow_nil, default) ⇒ String </a>
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
</span>
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
<span class="note title private">private</span>
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
<span class="summary_desc"><div class='inline'>
|
154
|
-
<p>Defines the default value of a parameter depending on options.</p>
|
155
|
-
</div></span>
|
156
|
-
|
157
|
-
</li>
|
158
|
-
|
159
|
-
|
160
|
-
<li class="private ">
|
161
|
-
<span class="summary_signature">
|
162
|
-
|
163
|
-
<a href="#define_getter-instance_method" title="#define_getter (instance method)">#<strong>define_getter</strong>(name) ⇒ void </a>
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
</span>
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
<span class="note title private">private</span>
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
<span class="summary_desc"><div class='inline'>
|
178
|
-
<p>Defines a getter method for the property.</p>
|
179
|
-
</div></span>
|
180
|
-
|
181
|
-
</li>
|
182
|
-
|
183
|
-
|
184
|
-
<li class="private ">
|
185
|
-
<span class="summary_signature">
|
186
|
-
|
187
|
-
<a href="#define_setter-instance_method" title="#define_setter (instance method)">#<strong>define_setter</strong>(name) ⇒ void </a>
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
</span>
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
<span class="note title private">private</span>
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
<span class="summary_desc"><div class='inline'>
|
202
|
-
<p>Defines a setter method for the property.</p>
|
203
|
-
</div></span>
|
204
|
-
|
205
|
-
</li>
|
206
|
-
|
207
|
-
|
208
|
-
<li class="private ">
|
209
|
-
<span class="summary_signature">
|
210
|
-
|
211
|
-
<a href="#define_validate_lambda!-instance_method" title="#define_validate_lambda! (instance method)">#<strong>define_validate_lambda!</strong>(name, validate, allow_nil) ⇒ void </a>
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
</span>
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
<span class="note title private">private</span>
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
<span class="summary_desc"><div class='inline'>
|
226
|
-
<p>Defines a private method that raises an error if validate block returns false.</p>
|
227
|
-
</div></span>
|
228
|
-
|
229
|
-
</li>
|
230
|
-
|
231
|
-
|
232
|
-
<li class="private ">
|
233
|
-
<span class="summary_signature">
|
234
|
-
|
235
|
-
<a href="#define_validate_type!-instance_method" title="#define_validate_type! (instance method)">#<strong>define_validate_type!</strong>(name, type, allow_nil) ⇒ void </a>
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
</span>
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
<span class="note title private">private</span>
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
<span class="summary_desc"><div class='inline'>
|
250
|
-
<p>Defines a private method that raises an error if type is not respected.</p>
|
251
|
-
</div></span>
|
252
|
-
|
253
|
-
</li>
|
254
|
-
|
255
|
-
|
256
|
-
<li class="private ">
|
257
|
-
<span class="summary_signature">
|
258
|
-
|
259
|
-
<a href="#initialize_body-instance_method" title="#initialize_body (instance method)">#<strong>initialize_body</strong> ⇒ String </a>
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
</span>
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
<span class="note title private">private</span>
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
<span class="summary_desc"><div class='inline'>
|
274
|
-
<p>Defines initialize method body.</p>
|
275
|
-
</div></span>
|
276
|
-
|
277
|
-
</li>
|
278
|
-
|
279
|
-
|
280
|
-
<li class="private ">
|
281
|
-
<span class="summary_signature">
|
282
|
-
|
283
|
-
<a href="#initialize_parameters-instance_method" title="#initialize_parameters (instance method)">#<strong>initialize_parameters</strong> ⇒ String </a>
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
</span>
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
<span class="note title private">private</span>
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
<span class="summary_desc"><div class='inline'>
|
298
|
-
<p>Defines initialize method parameters.</p>
|
299
|
-
</div></span>
|
300
|
-
|
301
|
-
</li>
|
302
|
-
|
303
|
-
|
304
|
-
<li class="public ">
|
305
|
-
<span class="summary_signature">
|
306
|
-
|
307
|
-
<a href="#properties-instance_method" title="#properties (instance method)">#<strong>properties</strong> ⇒ Hash </a>
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
</span>
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
<span class="summary_desc"><div class='inline'>
|
322
|
-
<p>Returns the class properties.</p>
|
323
|
-
</div></span>
|
324
|
-
|
325
|
-
</li>
|
326
|
-
|
327
|
-
|
328
|
-
<li class="public ">
|
329
|
-
<span class="summary_signature">
|
330
|
-
|
331
|
-
<a href="#property-instance_method" title="#property (instance method)">#<strong>property</strong>(name, type = Object, validate: ->(_) { true }, allow_nil: false, default: nil) ⇒ void </a>
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
</span>
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
<span class="summary_desc"><div class='inline'>
|
346
|
-
<p>Adds a new “property” to the class.</p>
|
347
|
-
</div></span>
|
348
|
-
|
349
|
-
</li>
|
350
|
-
|
351
|
-
|
352
|
-
<li class="private ">
|
353
|
-
<span class="summary_signature">
|
354
|
-
|
355
|
-
<a href="#redefine_initialize-instance_method" title="#redefine_initialize (instance method)">#<strong>redefine_initialize</strong> ⇒ void </a>
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
</span>
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
<span class="note title private">private</span>
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
<span class="summary_desc"><div class='inline'>
|
370
|
-
<p>Redefines initialize method.</p>
|
371
|
-
</div></span>
|
372
|
-
|
373
|
-
</li>
|
374
|
-
|
375
|
-
|
376
|
-
<li class="private ">
|
377
|
-
<span class="summary_signature">
|
378
|
-
|
379
|
-
<a href="#type_validation-instance_method" title="#type_validation (instance method)">#<strong>type_validation</strong>(type) ⇒ Proc </a>
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
</span>
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
<span class="note title private">private</span>
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
<span class="summary_desc"><div class='inline'>
|
394
|
-
<p>Defines a lambda to be call to validate that value matches the type.</p>
|
395
|
-
</div></span>
|
396
|
-
|
397
|
-
</li>
|
398
|
-
|
399
|
-
|
400
|
-
</ul>
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
<div id="instance_method_details" class="method_details_list">
|
406
|
-
<h2>Instance Method Details</h2>
|
407
|
-
|
408
|
-
|
409
|
-
<div class="method_details first">
|
410
|
-
<h3 class="signature first" id="add_to_properties-instance_method">
|
411
|
-
|
412
|
-
#<strong>add_to_properties</strong>(name, allow_nil, default) ⇒ <tt>void</tt> <span class="extras">(private)</span>
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
</h3><div class="docstring">
|
419
|
-
<div class="discussion">
|
420
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
421
|
-
<p>Updates <span class='object_link'><a href="#properties-instance_method" title="Otoroshi::Sanctuary::ClassMethods#properties (method)">#properties</a></span> to add new property to the returned ones</p>
|
422
|
-
|
423
|
-
|
424
|
-
</div>
|
425
|
-
</div>
|
426
|
-
<div class="tags">
|
427
|
-
|
428
|
-
|
429
|
-
</div><table class="source_code">
|
430
|
-
<tr>
|
431
|
-
<td>
|
432
|
-
<pre class="lines">
|
433
|
-
|
434
|
-
|
435
|
-
56
|
436
|
-
57
|
437
|
-
58
|
438
|
-
59
|
439
|
-
60</pre>
|
440
|
-
</td>
|
441
|
-
<td>
|
442
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 56</span>
|
443
|
-
|
444
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_add_to_properties'>add_to_properties</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span>
|
445
|
-
<span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>=</span> <span class='id identifier rubyid_properties'>properties</span>
|
446
|
-
<span class='id identifier rubyid_current_state'>current_state</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>allow_nil:</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='id identifier rubyid_default'>default</span> <span class='rbrace'>}</span>
|
447
|
-
<span class='id identifier rubyid_define_singleton_method'>define_singleton_method</span><span class='lparen'>(</span><span class='symbol'>:properties</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_current_state'>current_state</span> <span class='rbrace'>}</span>
|
448
|
-
<span class='kw'>end</span></pre>
|
449
|
-
</td>
|
450
|
-
</tr>
|
451
|
-
</table>
|
452
|
-
</div>
|
453
|
-
|
454
|
-
<div class="method_details ">
|
455
|
-
<h3 class="signature " id="default_parameter_for-instance_method">
|
456
|
-
|
457
|
-
#<strong>default_parameter_for</strong>(allow_nil, default) ⇒ <tt>String</tt> <span class="extras">(private)</span>
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
</h3><div class="docstring">
|
464
|
-
<div class="discussion">
|
465
|
-
|
466
|
-
<p>Defines the default value of a parameter depending on options</p>
|
467
|
-
|
468
|
-
|
469
|
-
</div>
|
470
|
-
</div>
|
471
|
-
<div class="tags">
|
472
|
-
|
473
|
-
<div class="examples">
|
474
|
-
<p class="tag_title">Examples:</p>
|
475
|
-
|
476
|
-
|
477
|
-
<p class="example_title"><div class='inline'>
|
478
|
-
<p>when nil is allowed and default is set</p>
|
479
|
-
</div></p>
|
480
|
-
|
481
|
-
<pre class="example code"><code><span class='id identifier rubyid_default_parameter_for'>default_parameter_for</span><span class='lparen'>(</span><span class='kw'>true</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='comment'>#=> " 0"</span></code></pre>
|
482
|
-
|
483
|
-
|
484
|
-
<p class="example_title"><div class='inline'>
|
485
|
-
<p>when nil is allowed and default is not set</p>
|
486
|
-
</div></p>
|
487
|
-
|
488
|
-
<pre class="example code"><code><span class='id identifier rubyid_default_parameter_for'>default_parameter_for</span><span class='lparen'>(</span><span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='comment'>#=> " nil"</span></code></pre>
|
489
|
-
|
490
|
-
|
491
|
-
<p class="example_title"><div class='inline'>
|
492
|
-
<p>when nil is not allowed</p>
|
493
|
-
</div></p>
|
494
|
-
|
495
|
-
<pre class="example code"><code><span class='id identifier rubyid_default_parameter_for'>default_parameter_for</span><span class='lparen'>(</span><span class='kw'>false</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='comment'>#=> ""</span></code></pre>
|
496
|
-
|
497
|
-
</div>
|
498
|
-
<p class="tag_title">Parameters:</p>
|
499
|
-
<ul class="param">
|
500
|
-
|
501
|
-
<li>
|
502
|
-
|
503
|
-
<span class='name'>options</span>
|
504
|
-
|
505
|
-
|
506
|
-
<span class='type'>(<tt>Hash</tt>)</span>
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
</li>
|
511
|
-
|
512
|
-
</ul>
|
513
|
-
|
514
|
-
<p class="tag_title">Returns:</p>
|
515
|
-
<ul class="return">
|
516
|
-
|
517
|
-
<li>
|
518
|
-
|
519
|
-
|
520
|
-
<span class='type'>(<tt>String</tt>)</span>
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
</li>
|
525
|
-
|
526
|
-
</ul>
|
527
|
-
|
528
|
-
</div><table class="source_code">
|
529
|
-
<tr>
|
530
|
-
<td>
|
531
|
-
<pre class="lines">
|
532
|
-
|
533
|
-
|
534
|
-
196
|
535
|
-
197
|
536
|
-
198
|
537
|
-
199
|
538
|
-
200</pre>
|
539
|
-
</td>
|
540
|
-
<td>
|
541
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 196</span>
|
542
|
-
|
543
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_default_parameter_for'>default_parameter_for</span><span class='lparen'>(</span><span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span>
|
544
|
-
<span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_default'>default</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_default'>default</span>
|
545
|
-
|
546
|
-
<span class='id identifier rubyid_allow_nil'>allow_nil</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> nil</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
547
|
-
<span class='kw'>end</span></pre>
|
548
|
-
</td>
|
549
|
-
</tr>
|
550
|
-
</table>
|
551
|
-
</div>
|
552
|
-
|
553
|
-
<div class="method_details ">
|
554
|
-
<h3 class="signature " id="define_getter-instance_method">
|
555
|
-
|
556
|
-
#<strong>define_getter</strong>(name) ⇒ <tt>void</tt> <span class="extras">(private)</span>
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
</h3><div class="docstring">
|
563
|
-
<div class="discussion">
|
564
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
565
|
-
<p>Defines a getter method for the property</p>
|
566
|
-
|
567
|
-
|
568
|
-
</div>
|
569
|
-
</div>
|
570
|
-
<div class="tags">
|
571
|
-
|
572
|
-
<div class="examples">
|
573
|
-
<p class="tag_title">Examples:</p>
|
574
|
-
|
575
|
-
|
576
|
-
<pre class="example code"><code><span class='id identifier rubyid_define_getter'>define_getter</span><span class='lparen'>(</span><span class='symbol'>:score</span><span class='rparen'>)</span> <span class='comment'>#=> def score ...</span></code></pre>
|
577
|
-
|
578
|
-
|
579
|
-
<p class="example_title"><div class='inline'>
|
580
|
-
<p>Generated instance method</p>
|
581
|
-
</div></p>
|
582
|
-
|
583
|
-
<pre class="example code"><code><span class='kw'>def</span> <span class='id identifier rubyid_score'>score</span>
|
584
|
-
<span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='ivar'>@score</span><span class='rparen'>)</span>
|
585
|
-
<span class='kw'>end</span></code></pre>
|
586
|
-
|
587
|
-
</div>
|
588
|
-
<p class="tag_title">Parameters:</p>
|
589
|
-
<ul class="param">
|
590
|
-
|
591
|
-
<li>
|
592
|
-
|
593
|
-
<span class='name'>name</span>
|
594
|
-
|
595
|
-
|
596
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
—
|
601
|
-
<div class='inline'>
|
602
|
-
<p>the property name</p>
|
603
|
-
</div>
|
604
|
-
|
605
|
-
</li>
|
606
|
-
|
607
|
-
</ul>
|
608
|
-
|
609
|
-
|
610
|
-
</div><table class="source_code">
|
611
|
-
<tr>
|
612
|
-
<td>
|
613
|
-
<pre class="lines">
|
614
|
-
|
615
|
-
|
616
|
-
135
|
617
|
-
136
|
618
|
-
137</pre>
|
619
|
-
</td>
|
620
|
-
<td>
|
621
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 135</span>
|
622
|
-
|
623
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_define_getter'>define_getter</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
624
|
-
<span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
625
|
-
<span class='kw'>end</span></pre>
|
626
|
-
</td>
|
627
|
-
</tr>
|
628
|
-
</table>
|
629
|
-
</div>
|
630
|
-
|
631
|
-
<div class="method_details ">
|
632
|
-
<h3 class="signature " id="define_setter-instance_method">
|
633
|
-
|
634
|
-
#<strong>define_setter</strong>(name) ⇒ <tt>void</tt> <span class="extras">(private)</span>
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
</h3><div class="docstring">
|
641
|
-
<div class="discussion">
|
642
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
643
|
-
<p>Defines a setter method for the property</p>
|
644
|
-
|
645
|
-
|
646
|
-
</div>
|
647
|
-
</div>
|
648
|
-
<div class="tags">
|
649
|
-
|
650
|
-
<div class="examples">
|
651
|
-
<p class="tag_title">Examples:</p>
|
652
|
-
|
653
|
-
|
654
|
-
<pre class="example code"><code><span class='id identifier rubyid_define_getter'>define_getter</span><span class='lparen'>(</span><span class='symbol'>:score</span><span class='rparen'>)</span> <span class='comment'>#=> def score=(value) ...</span></code></pre>
|
655
|
-
|
656
|
-
|
657
|
-
<p class="example_title"><div class='inline'>
|
658
|
-
<p>Generated instance method</p>
|
659
|
-
</div></p>
|
660
|
-
|
661
|
-
<pre class="example code"><code><span class='kw'>def</span> <span class='id identifier rubyid_score='>score=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
662
|
-
<span class='id identifier rubyid_validate_score_type!'>validate_score_type!</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
663
|
-
<span class='id identifier rubyid_validate_score!'>validate_score!</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
664
|
-
<span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='ivar'>@score</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
665
|
-
<span class='kw'>end</span></code></pre>
|
666
|
-
|
667
|
-
</div>
|
668
|
-
<p class="tag_title">Parameters:</p>
|
669
|
-
<ul class="param">
|
670
|
-
|
671
|
-
<li>
|
672
|
-
|
673
|
-
<span class='name'>name</span>
|
674
|
-
|
675
|
-
|
676
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
—
|
681
|
-
<div class='inline'>
|
682
|
-
<p>the property name</p>
|
683
|
-
</div>
|
684
|
-
|
685
|
-
</li>
|
686
|
-
|
687
|
-
</ul>
|
688
|
-
|
689
|
-
|
690
|
-
</div><table class="source_code">
|
691
|
-
<tr>
|
692
|
-
<td>
|
693
|
-
<pre class="lines">
|
694
|
-
|
695
|
-
|
696
|
-
150
|
697
|
-
151
|
698
|
-
152
|
699
|
-
153
|
700
|
-
154
|
701
|
-
155
|
702
|
-
156</pre>
|
703
|
-
</td>
|
704
|
-
<td>
|
705
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 150</span>
|
706
|
-
|
707
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_define_setter'>define_setter</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
708
|
-
<span class='id identifier rubyid_define_method'>define_method</span> <span class='symbol'>:"#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
|
709
|
-
<span class='id identifier rubyid___send__'>__send__</span><span class='lparen'>(</span><span class='symbol'>:"validate_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_type!</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
710
|
-
<span class='id identifier rubyid___send__'>__send__</span><span class='lparen'>(</span><span class='symbol'>:"validate_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_lambda!</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
711
|
-
<span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
712
|
-
<span class='kw'>end</span>
|
713
|
-
<span class='kw'>end</span></pre>
|
714
|
-
</td>
|
715
|
-
</tr>
|
716
|
-
</table>
|
717
|
-
</div>
|
718
|
-
|
719
|
-
<div class="method_details ">
|
720
|
-
<h3 class="signature " id="define_validate_lambda!-instance_method">
|
721
|
-
|
722
|
-
#<strong>define_validate_lambda!</strong>(name, validate, allow_nil) ⇒ <tt>void</tt> <span class="extras">(private)</span>
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
</h3><div class="docstring">
|
729
|
-
<div class="discussion">
|
730
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
731
|
-
<p>Defines a private method that raises an error if validate block returns false</p>
|
732
|
-
|
733
|
-
|
734
|
-
</div>
|
735
|
-
</div>
|
736
|
-
<div class="tags">
|
737
|
-
|
738
|
-
<div class="examples">
|
739
|
-
<p class="tag_title">Examples:</p>
|
740
|
-
|
741
|
-
|
742
|
-
<pre class="example code"><code><span class='id identifier rubyid_define_validate_lambda!'>define_validate_lambda!</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>score</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_v'>v</span> <span class='op'>>=</span> <span class='int'>0</span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='comment'>#=> def validate_score_lambda!(value) ...</span></code></pre>
|
743
|
-
|
744
|
-
|
745
|
-
<p class="example_title"><div class='inline'>
|
746
|
-
<p>Generated instance method</p>
|
747
|
-
</div></p>
|
748
|
-
|
749
|
-
<pre class="example code"><code><span class='kw'>def</span> <span class='id identifier rubyid_validate_score_lambda!'>validate_score_lambda!</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
750
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='kw'>false</span> <span class='op'>&&</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
751
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>>=</span> <span class='int'>0</span>
|
752
|
-
|
753
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>:score does not match validation</span><span class='tstring_end'>"</span></span>
|
754
|
-
<span class='kw'>end</span></code></pre>
|
755
|
-
|
756
|
-
</div>
|
757
|
-
<p class="tag_title">Parameters:</p>
|
758
|
-
<ul class="param">
|
759
|
-
|
760
|
-
<li>
|
761
|
-
|
762
|
-
<span class='name'>name</span>
|
763
|
-
|
764
|
-
|
765
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
—
|
770
|
-
<div class='inline'>
|
771
|
-
<p>the property name</p>
|
772
|
-
</div>
|
773
|
-
|
774
|
-
</li>
|
775
|
-
|
776
|
-
<li>
|
777
|
-
|
778
|
-
<span class='name'>validate</span>
|
779
|
-
|
780
|
-
|
781
|
-
<span class='type'>(<tt>Proc</tt>)</span>
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
—
|
786
|
-
<div class='inline'>
|
787
|
-
<p>a lambda processing the value and returning true or false</p>
|
788
|
-
</div>
|
789
|
-
|
790
|
-
</li>
|
791
|
-
|
792
|
-
<li>
|
793
|
-
|
794
|
-
<span class='name'>allow_nil</span>
|
795
|
-
|
796
|
-
|
797
|
-
<span class='type'>(<tt>true</tt>, <tt>false</tt>)</span>
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
—
|
802
|
-
<div class='inline'>
|
803
|
-
<p>allow nil as a value</p>
|
804
|
-
</div>
|
805
|
-
|
806
|
-
</li>
|
807
|
-
|
808
|
-
</ul>
|
809
|
-
|
810
|
-
|
811
|
-
</div><table class="source_code">
|
812
|
-
<tr>
|
813
|
-
<td>
|
814
|
-
<pre class="lines">
|
815
|
-
|
816
|
-
|
817
|
-
116
|
818
|
-
117
|
819
|
-
118
|
820
|
-
119
|
821
|
-
120
|
822
|
-
121
|
823
|
-
122
|
824
|
-
123
|
825
|
-
124</pre>
|
826
|
-
</td>
|
827
|
-
<td>
|
828
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 116</span>
|
829
|
-
|
830
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_define_validate_lambda!'>define_validate_lambda!</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_validate'>validate</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='rparen'>)</span>
|
831
|
-
<span class='id identifier rubyid_define_method'>define_method</span> <span class='symbol'>:"validate_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_lambda!</span><span class='tstring_end'>"</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
|
832
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span> <span class='op'>&&</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
833
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_instance_exec'>instance_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_validate'>validate</span><span class='rparen'>)</span>
|
834
|
-
|
835
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> does not match validation</span><span class='tstring_end'>"</span></span>
|
836
|
-
<span class='kw'>end</span>
|
837
|
-
<span class='id identifier rubyid_private'>private</span> <span class='symbol'>:"validate_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_lambda!</span><span class='tstring_end'>"</span></span>
|
838
|
-
<span class='kw'>end</span></pre>
|
839
|
-
</td>
|
840
|
-
</tr>
|
841
|
-
</table>
|
842
|
-
</div>
|
843
|
-
|
844
|
-
<div class="method_details ">
|
845
|
-
<h3 class="signature " id="define_validate_type!-instance_method">
|
846
|
-
|
847
|
-
#<strong>define_validate_type!</strong>(name, type, allow_nil) ⇒ <tt>void</tt> <span class="extras">(private)</span>
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
</h3><div class="docstring">
|
854
|
-
<div class="discussion">
|
855
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
856
|
-
<p>Defines a private method that raises an error if type is not respected</p>
|
857
|
-
|
858
|
-
|
859
|
-
</div>
|
860
|
-
</div>
|
861
|
-
<div class="tags">
|
862
|
-
|
863
|
-
<div class="examples">
|
864
|
-
<p class="tag_title">Examples:</p>
|
865
|
-
|
866
|
-
|
867
|
-
<pre class="example code"><code>define_validate_type!(score, Integer, false) => def validate_score_type!(value) ...</code></pre>
|
868
|
-
|
869
|
-
|
870
|
-
<p class="example_title"><div class='inline'>
|
871
|
-
<p>Generated method</p>
|
872
|
-
</div></p>
|
873
|
-
|
874
|
-
<pre class="example code"><code><span class='kw'>def</span> <span class='id identifier rubyid_validate_score_type!'>validate_score_type!</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
875
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='const'>Integer</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='kw'>false</span> <span class='op'>&&</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
876
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Integer</span>
|
877
|
-
|
878
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>:score does not match required type</span><span class='tstring_end'>"</span></span>
|
879
|
-
<span class='kw'>end</span></code></pre>
|
880
|
-
|
881
|
-
</div>
|
882
|
-
<p class="tag_title">Parameters:</p>
|
883
|
-
<ul class="param">
|
884
|
-
|
885
|
-
<li>
|
886
|
-
|
887
|
-
<span class='name'>name</span>
|
888
|
-
|
889
|
-
|
890
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
—
|
895
|
-
<div class='inline'>
|
896
|
-
<p>the property name</p>
|
897
|
-
</div>
|
898
|
-
|
899
|
-
</li>
|
900
|
-
|
901
|
-
<li>
|
902
|
-
|
903
|
-
<span class='name'>type</span>
|
904
|
-
|
905
|
-
|
906
|
-
<span class='type'>(<tt>Class</tt>)</span>
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
—
|
911
|
-
<div class='inline'>
|
912
|
-
<p>the type to test against</p>
|
913
|
-
</div>
|
914
|
-
|
915
|
-
</li>
|
916
|
-
|
917
|
-
<li>
|
918
|
-
|
919
|
-
<span class='name'>allow_nil</span>
|
920
|
-
|
921
|
-
|
922
|
-
<span class='type'>(<tt>true</tt>, <tt>false</tt>)</span>
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
—
|
927
|
-
<div class='inline'>
|
928
|
-
<p>allow nil as a value</p>
|
929
|
-
</div>
|
930
|
-
|
931
|
-
</li>
|
932
|
-
|
933
|
-
</ul>
|
934
|
-
|
935
|
-
|
936
|
-
</div><table class="source_code">
|
937
|
-
<tr>
|
938
|
-
<td>
|
939
|
-
<pre class="lines">
|
940
|
-
|
941
|
-
|
942
|
-
76
|
943
|
-
77
|
944
|
-
78
|
945
|
-
79
|
946
|
-
80
|
947
|
-
81
|
948
|
-
82
|
949
|
-
83
|
950
|
-
84
|
951
|
-
85</pre>
|
952
|
-
</td>
|
953
|
-
<td>
|
954
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 76</span>
|
955
|
-
|
956
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_define_validate_type!'>define_validate_type!</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='rparen'>)</span>
|
957
|
-
<span class='id identifier rubyid_lambda'>lambda</span> <span class='op'>=</span> <span class='id identifier rubyid_type_validation'>type_validation</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
958
|
-
<span class='id identifier rubyid_define_method'>define_method</span> <span class='symbol'>:"validate_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_type!</span><span class='tstring_end'>"</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
|
959
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span> <span class='op'>&&</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
960
|
-
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_lambda'>lambda</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
961
|
-
|
962
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> does not match required type</span><span class='tstring_end'>"</span></span>
|
963
|
-
<span class='kw'>end</span>
|
964
|
-
<span class='id identifier rubyid_private'>private</span> <span class='symbol'>:"validate_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_type!</span><span class='tstring_end'>"</span></span>
|
965
|
-
<span class='kw'>end</span></pre>
|
966
|
-
</td>
|
967
|
-
</tr>
|
968
|
-
</table>
|
969
|
-
</div>
|
970
|
-
|
971
|
-
<div class="method_details ">
|
972
|
-
<h3 class="signature " id="initialize_body-instance_method">
|
973
|
-
|
974
|
-
#<strong>initialize_body</strong> ⇒ <tt>String</tt> <span class="extras">(private)</span>
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
</h3><div class="docstring">
|
981
|
-
<div class="discussion">
|
982
|
-
|
983
|
-
<p>Defines initialize method body</p>
|
984
|
-
|
985
|
-
|
986
|
-
</div>
|
987
|
-
</div>
|
988
|
-
<div class="tags">
|
989
|
-
|
990
|
-
<div class="examples">
|
991
|
-
<p class="tag_title">Examples:</p>
|
992
|
-
|
993
|
-
|
994
|
-
<p class="example_title"><div class='inline'>
|
995
|
-
<p>Given properties { foo: { allow_nil: false, default: nil }, { allow_nil: true, default: 0 } }</p>
|
996
|
-
</div></p>
|
997
|
-
|
998
|
-
<pre class="example code"><code><span class='id identifier rubyid_initialize_body'>initialize_body</span> <span class='comment'>#=> "self.foo = foo\nself.bar = bar"</span></code></pre>
|
999
|
-
|
1000
|
-
</div>
|
1001
|
-
|
1002
|
-
<p class="tag_title">Returns:</p>
|
1003
|
-
<ul class="return">
|
1004
|
-
|
1005
|
-
<li>
|
1006
|
-
|
1007
|
-
|
1008
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
</li>
|
1013
|
-
|
1014
|
-
</ul>
|
1015
|
-
|
1016
|
-
</div><table class="source_code">
|
1017
|
-
<tr>
|
1018
|
-
<td>
|
1019
|
-
<pre class="lines">
|
1020
|
-
|
1021
|
-
|
1022
|
-
206
|
1023
|
-
207
|
1024
|
-
208</pre>
|
1025
|
-
</td>
|
1026
|
-
<td>
|
1027
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 206</span>
|
1028
|
-
|
1029
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_initialize_body'>initialize_body</span>
|
1030
|
-
<span class='id identifier rubyid_properties'>properties</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</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_key'>key</span><span class='op'>|</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'> = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1031
|
-
<span class='kw'>end</span></pre>
|
1032
|
-
</td>
|
1033
|
-
</tr>
|
1034
|
-
</table>
|
1035
|
-
</div>
|
1036
|
-
|
1037
|
-
<div class="method_details ">
|
1038
|
-
<h3 class="signature " id="initialize_parameters-instance_method">
|
1039
|
-
|
1040
|
-
#<strong>initialize_parameters</strong> ⇒ <tt>String</tt> <span class="extras">(private)</span>
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
</h3><div class="docstring">
|
1047
|
-
<div class="discussion">
|
1048
|
-
|
1049
|
-
<p>Defines initialize method parameters</p>
|
1050
|
-
|
1051
|
-
|
1052
|
-
</div>
|
1053
|
-
</div>
|
1054
|
-
<div class="tags">
|
1055
|
-
|
1056
|
-
<div class="examples">
|
1057
|
-
<p class="tag_title">Examples:</p>
|
1058
|
-
|
1059
|
-
|
1060
|
-
<p class="example_title"><div class='inline'>
|
1061
|
-
<p>Given properties { foo: { allow_nil: false, default: nil }, { allow_nil: true, default: 0 } }</p>
|
1062
|
-
</div></p>
|
1063
|
-
|
1064
|
-
<pre class="example code"><code><span class='id identifier rubyid_redefine_initialize'>redefine_initialize</span> <span class='comment'>#=> "foo:, bar: 0"</span></code></pre>
|
1065
|
-
|
1066
|
-
</div>
|
1067
|
-
|
1068
|
-
<p class="tag_title">Returns:</p>
|
1069
|
-
<ul class="return">
|
1070
|
-
|
1071
|
-
<li>
|
1072
|
-
|
1073
|
-
|
1074
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
</li>
|
1079
|
-
|
1080
|
-
</ul>
|
1081
|
-
|
1082
|
-
</div><table class="source_code">
|
1083
|
-
<tr>
|
1084
|
-
<td>
|
1085
|
-
<pre class="lines">
|
1086
|
-
|
1087
|
-
|
1088
|
-
178
|
1089
|
-
179
|
1090
|
-
180
|
1091
|
-
181
|
1092
|
-
182
|
1093
|
-
183
|
1094
|
-
184
|
1095
|
-
185</pre>
|
1096
|
-
</td>
|
1097
|
-
<td>
|
1098
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 178</span>
|
1099
|
-
|
1100
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_initialize_parameters'>initialize_parameters</span>
|
1101
|
-
<span class='id identifier rubyid_parameters'>parameters</span> <span class='op'>=</span>
|
1102
|
-
<span class='id identifier rubyid_properties'>properties</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>|</span>
|
1103
|
-
<span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span>
|
1104
|
-
<span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_default_parameter_for'>default_parameter_for</span><span class='lparen'>(</span><span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1105
|
-
<span class='kw'>end</span>
|
1106
|
-
<span class='id identifier rubyid_parameters'>parameters</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>, </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1107
|
-
<span class='kw'>end</span></pre>
|
1108
|
-
</td>
|
1109
|
-
</tr>
|
1110
|
-
</table>
|
1111
|
-
</div>
|
1112
|
-
|
1113
|
-
<div class="method_details ">
|
1114
|
-
<h3 class="signature " id="properties-instance_method">
|
1115
|
-
|
1116
|
-
#<strong>properties</strong> ⇒ <tt>Hash</tt>
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
</h3><div class="docstring">
|
1123
|
-
<div class="discussion">
|
1124
|
-
|
1125
|
-
<div class="note notetag">
|
1126
|
-
<strong>Note:</strong>
|
1127
|
-
<div class='inline'>
|
1128
|
-
<p>this method will be updated by <span class='object_link'><a href="#add_to_properties-instance_method" title="Otoroshi::Sanctuary::ClassMethods#add_to_properties (method)">#add_to_properties</a></span></p>
|
1129
|
-
</div>
|
1130
|
-
</div>
|
1131
|
-
|
1132
|
-
|
1133
|
-
<p>Returns the class properties</p>
|
1134
|
-
|
1135
|
-
|
1136
|
-
</div>
|
1137
|
-
</div>
|
1138
|
-
<div class="tags">
|
1139
|
-
|
1140
|
-
<p class="tag_title">Returns:</p>
|
1141
|
-
<ul class="return">
|
1142
|
-
|
1143
|
-
<li>
|
1144
|
-
|
1145
|
-
|
1146
|
-
<span class='type'>(<tt>Hash</tt>)</span>
|
1147
|
-
|
1148
|
-
|
1149
|
-
|
1150
|
-
</li>
|
1151
|
-
|
1152
|
-
</ul>
|
1153
|
-
|
1154
|
-
</div><table class="source_code">
|
1155
|
-
<tr>
|
1156
|
-
<td>
|
1157
|
-
<pre class="lines">
|
1158
|
-
|
1159
|
-
|
1160
|
-
48
|
1161
|
-
49
|
1162
|
-
50</pre>
|
1163
|
-
</td>
|
1164
|
-
<td>
|
1165
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 48</span>
|
1166
|
-
|
1167
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_properties'>properties</span>
|
1168
|
-
<span class='lbrace'>{</span><span class='rbrace'>}</span>
|
1169
|
-
<span class='kw'>end</span></pre>
|
1170
|
-
</td>
|
1171
|
-
</tr>
|
1172
|
-
</table>
|
1173
|
-
</div>
|
1174
|
-
|
1175
|
-
<div class="method_details ">
|
1176
|
-
<h3 class="signature " id="property-instance_method">
|
1177
|
-
|
1178
|
-
#<strong>property</strong>(name, type = Object, validate: ->(_) { true }, allow_nil: false, default: nil) ⇒ <tt>void</tt>
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
</h3><div class="docstring">
|
1185
|
-
<div class="discussion">
|
1186
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
1187
|
-
<p>Adds a new “property” to the class</p>
|
1188
|
-
|
1189
|
-
|
1190
|
-
</div>
|
1191
|
-
</div>
|
1192
|
-
<div class="tags">
|
1193
|
-
|
1194
|
-
<div class="examples">
|
1195
|
-
<p class="tag_title">Examples:</p>
|
1196
|
-
|
1197
|
-
|
1198
|
-
<pre class="example code"><code><span class='id identifier rubyid_property'>property</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='const'>String</span><span class='comma'>,</span> <span class='label'>validate:</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>></span> <span class='int'>3</span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>allow_nil:</span> <span class='kw'>true</span></code></pre>
|
1199
|
-
|
1200
|
-
|
1201
|
-
<pre class="example code"><code><span class='id identifier rubyid_property'>property</span> <span class='id identifier rubyid_score'>score</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='const'>Integer</span><span class='comma'>,</span> <span class='label'>validate:</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_v'>v</span> <span class='op'>>=</span> <span class='int'>0</span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='int'>0</span></code></pre>
|
1202
|
-
|
1203
|
-
</div>
|
1204
|
-
<p class="tag_title">Parameters:</p>
|
1205
|
-
<ul class="param">
|
1206
|
-
|
1207
|
-
<li>
|
1208
|
-
|
1209
|
-
<span class='name'>name</span>
|
1210
|
-
|
1211
|
-
|
1212
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
—
|
1217
|
-
<div class='inline'>
|
1218
|
-
<p>the property name</p>
|
1219
|
-
</div>
|
1220
|
-
|
1221
|
-
</li>
|
1222
|
-
|
1223
|
-
<li>
|
1224
|
-
|
1225
|
-
<span class='name'>type</span>
|
1226
|
-
|
1227
|
-
|
1228
|
-
<span class='type'>(<tt>Class</tt>)</span>
|
1229
|
-
|
1230
|
-
|
1231
|
-
<em class="default">(defaults to: <tt>Object</tt>)</em>
|
1232
|
-
|
1233
|
-
|
1234
|
-
—
|
1235
|
-
<div class='inline'>
|
1236
|
-
<p>the expected value type</p>
|
1237
|
-
</div>
|
1238
|
-
|
1239
|
-
</li>
|
1240
|
-
|
1241
|
-
<li>
|
1242
|
-
|
1243
|
-
<span class='name'>validate</span>
|
1244
|
-
|
1245
|
-
|
1246
|
-
<span class='type'>(<tt>Proc</tt>)</span>
|
1247
|
-
|
1248
|
-
|
1249
|
-
<em class="default">(defaults to: <tt>->(_) { true }</tt>)</em>
|
1250
|
-
|
1251
|
-
|
1252
|
-
—
|
1253
|
-
<div class='inline'>
|
1254
|
-
<p>a lambda processing the value and returning true or false</p>
|
1255
|
-
</div>
|
1256
|
-
|
1257
|
-
</li>
|
1258
|
-
|
1259
|
-
<li>
|
1260
|
-
|
1261
|
-
<span class='name'>allow_nil</span>
|
1262
|
-
|
1263
|
-
|
1264
|
-
<span class='type'>(<tt>true</tt>, <tt>false</tt>)</span>
|
1265
|
-
|
1266
|
-
|
1267
|
-
<em class="default">(defaults to: <tt>false</tt>)</em>
|
1268
|
-
|
1269
|
-
|
1270
|
-
—
|
1271
|
-
<div class='inline'>
|
1272
|
-
<p>allow nil as a value</p>
|
1273
|
-
</div>
|
1274
|
-
|
1275
|
-
</li>
|
1276
|
-
|
1277
|
-
<li>
|
1278
|
-
|
1279
|
-
<span class='name'>default</span>
|
1280
|
-
|
1281
|
-
|
1282
|
-
<span class='type'>(<tt>Object</tt>)</span>
|
1283
|
-
|
1284
|
-
|
1285
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1286
|
-
|
1287
|
-
|
1288
|
-
—
|
1289
|
-
<div class='inline'>
|
1290
|
-
<p>default value if not set on initialization</p>
|
1291
|
-
</div>
|
1292
|
-
|
1293
|
-
</li>
|
1294
|
-
|
1295
|
-
</ul>
|
1296
|
-
|
1297
|
-
|
1298
|
-
</div><table class="source_code">
|
1299
|
-
<tr>
|
1300
|
-
<td>
|
1301
|
-
<pre class="lines">
|
1302
|
-
|
1303
|
-
|
1304
|
-
36
|
1305
|
-
37
|
1306
|
-
38
|
1307
|
-
39
|
1308
|
-
40
|
1309
|
-
41
|
1310
|
-
42
|
1311
|
-
43</pre>
|
1312
|
-
</td>
|
1313
|
-
<td>
|
1314
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 36</span>
|
1315
|
-
|
1316
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_property'>property</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='const'>Object</span><span class='comma'>,</span> <span class='label'>validate:</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid__'>_</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='kw'>true</span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>allow_nil:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1317
|
-
<span class='id identifier rubyid_add_to_properties'>add_to_properties</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span>
|
1318
|
-
<span class='id identifier rubyid_define_validate_type!'>define_validate_type!</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='rparen'>)</span>
|
1319
|
-
<span class='id identifier rubyid_define_validate_lambda!'>define_validate_lambda!</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_validate'>validate</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_nil'>allow_nil</span><span class='rparen'>)</span>
|
1320
|
-
<span class='id identifier rubyid_define_getter'>define_getter</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1321
|
-
<span class='id identifier rubyid_define_setter'>define_setter</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1322
|
-
<span class='id identifier rubyid_redefine_initialize'>redefine_initialize</span>
|
1323
|
-
<span class='kw'>end</span></pre>
|
1324
|
-
</td>
|
1325
|
-
</tr>
|
1326
|
-
</table>
|
1327
|
-
</div>
|
1328
|
-
|
1329
|
-
<div class="method_details ">
|
1330
|
-
<h3 class="signature " id="redefine_initialize-instance_method">
|
1331
|
-
|
1332
|
-
#<strong>redefine_initialize</strong> ⇒ <tt>void</tt> <span class="extras">(private)</span>
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
</h3><div class="docstring">
|
1339
|
-
<div class="discussion">
|
1340
|
-
|
1341
|
-
<div class="note notetag">
|
1342
|
-
<strong>Note:</strong>
|
1343
|
-
<div class='inline'>
|
1344
|
-
<p>method is defined with `class_eval`</p>
|
1345
|
-
</div>
|
1346
|
-
</div>
|
1347
|
-
|
1348
|
-
<p class="note returns_void">This method returns an undefined value.</p>
|
1349
|
-
<p>Redefines initialize method</p>
|
1350
|
-
|
1351
|
-
|
1352
|
-
</div>
|
1353
|
-
</div>
|
1354
|
-
<div class="tags">
|
1355
|
-
|
1356
|
-
<div class="examples">
|
1357
|
-
<p class="tag_title">Examples:</p>
|
1358
|
-
|
1359
|
-
|
1360
|
-
<p class="example_title"><div class='inline'>
|
1361
|
-
<p>Generated method</p>
|
1362
|
-
</div></p>
|
1363
|
-
|
1364
|
-
<pre class="example code"><code><span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>foo:</span><span class='comma'>,</span> <span class='label'>bar:</span> <span class='int'>0</span><span class='rparen'>)</span>
|
1365
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_foo'>foo</span> <span class='op'>=</span> <span class='id identifier rubyid_foo'>foo</span>
|
1366
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_bar'>bar</span> <span class='op'>=</span> <span class='id identifier rubyid_bar'>bar</span>
|
1367
|
-
<span class='kw'>end</span></code></pre>
|
1368
|
-
|
1369
|
-
</div>
|
1370
|
-
|
1371
|
-
|
1372
|
-
</div><table class="source_code">
|
1373
|
-
<tr>
|
1374
|
-
<td>
|
1375
|
-
<pre class="lines">
|
1376
|
-
|
1377
|
-
|
1378
|
-
166
|
1379
|
-
167
|
1380
|
-
168
|
1381
|
-
169
|
1382
|
-
170
|
1383
|
-
171
|
1384
|
-
172</pre>
|
1385
|
-
</td>
|
1386
|
-
<td>
|
1387
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 166</span>
|
1388
|
-
|
1389
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_redefine_initialize'>redefine_initialize</span>
|
1390
|
-
<span class='id identifier rubyid_class_eval'>class_eval</span> <span class='heredoc_beg'><<-RUBY</span><span class='comma'>,</span> <span class='kw'>__FILE__</span><span class='comma'>,</span> <span class='kw'>__LINE__</span> <span class='op'>+</span> <span class='int'>1</span>
|
1391
|
-
<span class='tstring_content'> def initialize(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_initialize_parameters'>initialize_parameters</span><span class='embexpr_end'>}</span><span class='tstring_content'>)
|
1392
|
-
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_initialize_body'>initialize_body</span><span class='embexpr_end'>}</span><span class='tstring_content'>
|
1393
|
-
end
|
1394
|
-
</span><span class='heredoc_end'> RUBY
|
1395
|
-
</span><span class='kw'>end</span></pre>
|
1396
|
-
</td>
|
1397
|
-
</tr>
|
1398
|
-
</table>
|
1399
|
-
</div>
|
1400
|
-
|
1401
|
-
<div class="method_details ">
|
1402
|
-
<h3 class="signature " id="type_validation-instance_method">
|
1403
|
-
|
1404
|
-
#<strong>type_validation</strong>(type) ⇒ <tt>Proc</tt> <span class="extras">(private)</span>
|
1405
|
-
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1410
|
-
</h3><div class="docstring">
|
1411
|
-
<div class="discussion">
|
1412
|
-
|
1413
|
-
<p>Defines a lambda to be call to validate that value matches the type</p>
|
1414
|
-
|
1415
|
-
|
1416
|
-
</div>
|
1417
|
-
</div>
|
1418
|
-
<div class="tags">
|
1419
|
-
|
1420
|
-
<div class="examples">
|
1421
|
-
<p class="tag_title">Examples:</p>
|
1422
|
-
|
1423
|
-
|
1424
|
-
<pre class="example code"><code><span class='id identifier rubyid_type_validation'>type_validation</span><span class='lparen'>(</span><span class='const'>Integer</span><span class='rparen'>)</span> <span class='comment'>#=> ->(v) { v.is_a? Integer }</span></code></pre>
|
1425
|
-
|
1426
|
-
|
1427
|
-
<pre class="example code"><code><span class='id identifier rubyid_type_validation'>type_validation</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='const'>String</span><span class='comma'>,</span> <span class='const'>Symbol</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='comment'>#=> ->(v) { [String, Symbol].any? { |t| v.is_a? t } }</span></code></pre>
|
1428
|
-
|
1429
|
-
</div>
|
1430
|
-
<p class="tag_title">Parameters:</p>
|
1431
|
-
<ul class="param">
|
1432
|
-
|
1433
|
-
<li>
|
1434
|
-
|
1435
|
-
<span class='name'>type</span>
|
1436
|
-
|
1437
|
-
|
1438
|
-
<span class='type'>(<tt>Class</tt>)</span>
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
—
|
1443
|
-
<div class='inline'>
|
1444
|
-
<p>the type to test against</p>
|
1445
|
-
</div>
|
1446
|
-
|
1447
|
-
</li>
|
1448
|
-
|
1449
|
-
</ul>
|
1450
|
-
|
1451
|
-
<p class="tag_title">Returns:</p>
|
1452
|
-
<ul class="return">
|
1453
|
-
|
1454
|
-
<li>
|
1455
|
-
|
1456
|
-
|
1457
|
-
<span class='type'>(<tt>Proc</tt>)</span>
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
—
|
1462
|
-
<div class='inline'>
|
1463
|
-
<p>the lambda to use in order to test the value matches the type</p>
|
1464
|
-
</div>
|
1465
|
-
|
1466
|
-
</li>
|
1467
|
-
|
1468
|
-
</ul>
|
1469
|
-
|
1470
|
-
</div><table class="source_code">
|
1471
|
-
<tr>
|
1472
|
-
<td>
|
1473
|
-
<pre class="lines">
|
1474
|
-
|
1475
|
-
|
1476
|
-
94
|
1477
|
-
95
|
1478
|
-
96
|
1479
|
-
97
|
1480
|
-
98
|
1481
|
-
99
|
1482
|
-
100</pre>
|
1483
|
-
</td>
|
1484
|
-
<td>
|
1485
|
-
<pre class="code"><span class="info file"># File 'lib/otoroshi/sanctuary.rb', line 94</span>
|
1486
|
-
|
1487
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_type_validation'>type_validation</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1488
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Array</span>
|
1489
|
-
<span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_t'>t</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='id identifier rubyid_t'>t</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
|
1490
|
-
<span class='kw'>else</span>
|
1491
|
-
<span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='id identifier rubyid_type'>type</span> <span class='rbrace'>}</span>
|
1492
|
-
<span class='kw'>end</span>
|
1493
|
-
<span class='kw'>end</span></pre>
|
1494
|
-
</td>
|
1495
|
-
</tr>
|
1496
|
-
</table>
|
1497
|
-
</div>
|
1498
|
-
|
1499
|
-
</div>
|
1500
|
-
|
1501
|
-
</div>
|
1502
|
-
|
1503
|
-
<div id="footer">
|
1504
|
-
Generated on Wed Oct 14 00:24:01 2020 by
|
1505
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1506
|
-
0.9.25 (ruby-2.6.6).
|
1507
|
-
</div>
|
1508
|
-
|
1509
|
-
</div>
|
1510
|
-
</body>
|
1511
|
-
</html>
|