mbrao 1.0.0
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.
- data/.gitignore +6 -0
- data/.travis-gemfile +13 -0
- data/.travis.yml +8 -0
- data/.yardopts +1 -0
- data/Gemfile +21 -0
- data/README.md +60 -0
- data/Rakefile +11 -0
- data/doc/ActionView/Template/Handlers/MbraoTemplate.html +568 -0
- data/doc/ActionView/Template/Handlers.html +125 -0
- data/doc/HTML/Pipeline/KramdownFilter.html +354 -0
- data/doc/HTML/Pipeline.html +140 -0
- data/doc/HTML.html +125 -0
- data/doc/Mbrao/Author.html +1402 -0
- data/doc/Mbrao/Content.html +4779 -0
- data/doc/Mbrao/ContentPublicInterface.html +658 -0
- data/doc/Mbrao/Exceptions/InvalidDate.html +133 -0
- data/doc/Mbrao/Exceptions/InvalidMetadata.html +133 -0
- data/doc/Mbrao/Exceptions/Parsing.html +133 -0
- data/doc/Mbrao/Exceptions/Rendering.html +133 -0
- data/doc/Mbrao/Exceptions/UnavailableLocalization.html +133 -0
- data/doc/Mbrao/Exceptions/Unimplemented.html +133 -0
- data/doc/Mbrao/Exceptions/UnknownEngine.html +133 -0
- data/doc/Mbrao/Exceptions.html +125 -0
- data/doc/Mbrao/Parser.html +418 -0
- data/doc/Mbrao/ParsingEngines/Base.html +658 -0
- data/doc/Mbrao/ParsingEngines/PlainText.html +571 -0
- data/doc/Mbrao/ParsingEngines.html +127 -0
- data/doc/Mbrao/PublicInterface/ClassMethods.html +1727 -0
- data/doc/Mbrao/PublicInterface.html +134 -0
- data/doc/Mbrao/RenderingEngines/Base.html +280 -0
- data/doc/Mbrao/RenderingEngines/HtmlPipeline.html +873 -0
- data/doc/Mbrao/RenderingEngines.html +127 -0
- data/doc/Mbrao/Validations/ClassMethods.html +692 -0
- data/doc/Mbrao/Validations.html +134 -0
- data/doc/Mbrao/Version.html +189 -0
- data/doc/Mbrao.html +130 -0
- data/doc/_index.html +395 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +338 -0
- data/doc/file.README.html +135 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +135 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +516 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/mbrao/author.rb +61 -0
- data/lib/mbrao/content.rb +300 -0
- data/lib/mbrao/exceptions.rb +38 -0
- data/lib/mbrao/integrations/rails.rb +51 -0
- data/lib/mbrao/parser.rb +276 -0
- data/lib/mbrao/parsing_engines/base.rb +51 -0
- data/lib/mbrao/parsing_engines/plain_text.rb +187 -0
- data/lib/mbrao/rendering_engines/base.rb +22 -0
- data/lib/mbrao/rendering_engines/html_pipeline.rb +147 -0
- data/lib/mbrao/version.rb +25 -0
- data/lib/mbrao.rb +24 -0
- data/mbrao.gemspec +31 -0
- data/spec/coverage_helper.rb +17 -0
- data/spec/mbrao/author_spec.rb +62 -0
- data/spec/mbrao/content_spec.rb +280 -0
- data/spec/mbrao/integrations/rails_spec.rb +92 -0
- data/spec/mbrao/parser_spec.rb +269 -0
- data/spec/mbrao/parsing_engines/base_spec.rb +52 -0
- data/spec/mbrao/parsing_engines/plain_text_spec.rb +141 -0
- data/spec/mbrao/rendering_engines/base_spec.rb +17 -0
- data/spec/mbrao/rendering_engines/html_pipeline_spec.rb +128 -0
- data/spec/spec_helper.rb +15 -0
- metadata +195 -0
@@ -0,0 +1,692 @@
|
|
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: Mbrao::Validations::ClassMethods
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.5.2
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" 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#!" + escape(window.location.href);
|
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 (C)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../../Mbrao.html" title="Mbrao (module)">Mbrao</a></span></span> » <span class='title'><span class='object_link'><a href="../Validations.html" title="Mbrao::Validations (module)">Validations</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">ClassMethods</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: Mbrao::Validations::ClassMethods
|
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/mbrao/parser.rb</dd>
|
83
|
+
|
84
|
+
</dl>
|
85
|
+
<div class="clear"></div>
|
86
|
+
|
87
|
+
<h2>Overview</h2><div class="docstring">
|
88
|
+
<div class="discussion">
|
89
|
+
<p>Class methods.</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="public ">
|
113
|
+
<span class="summary_signature">
|
114
|
+
|
115
|
+
<a href="#is_email%3F-instance_method" title="#is_email? (instance method)">- (Boolean) <strong>is_email?</strong>(text) </a>
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
</span>
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
<span class="summary_desc"><div class='inline'><p>Checks if the text is a valid email.</p>
|
130
|
+
</div></span>
|
131
|
+
|
132
|
+
</li>
|
133
|
+
|
134
|
+
|
135
|
+
<li class="public ">
|
136
|
+
<span class="summary_signature">
|
137
|
+
|
138
|
+
<a href="#is_url%3F-instance_method" title="#is_url? (instance method)">- (Boolean) <strong>is_url?</strong>(text) </a>
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
</span>
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
<span class="summary_desc"><div class='inline'><p>Checks if the text is a valid URL.</p>
|
153
|
+
</div></span>
|
154
|
+
|
155
|
+
</li>
|
156
|
+
|
157
|
+
|
158
|
+
<li class="public ">
|
159
|
+
<span class="summary_signature">
|
160
|
+
|
161
|
+
<a href="#sanitized_array-instance_method" title="#sanitized_array (instance method)">- (Array) <strong>sanitized_array</strong>(object, uniq = true, compact = false, sanitize_method = :ensure_string, &block) </a>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
</span>
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
<span class="summary_desc"><div class='inline'><p>Converts an object to a a flatten array with all values sanitized.</p>
|
176
|
+
</div></span>
|
177
|
+
|
178
|
+
</li>
|
179
|
+
|
180
|
+
|
181
|
+
<li class="public ">
|
182
|
+
<span class="summary_signature">
|
183
|
+
|
184
|
+
<a href="#sanitized_hash-instance_method" title="#sanitized_hash (instance method)">- (Object) <strong>sanitized_hash</strong>(object, sanitize_method = nil, &block) </a>
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
</span>
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
<span class="summary_desc"><div class='inline'><p>Converts an object making sure that every <code>Hash</code> is converted to a <code>HashWithIndifferentAccess</code>.</p>
|
199
|
+
</div></span>
|
200
|
+
|
201
|
+
</li>
|
202
|
+
|
203
|
+
|
204
|
+
</ul>
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
<div id="instance_method_details" class="method_details_list">
|
210
|
+
<h2>Instance Method Details</h2>
|
211
|
+
|
212
|
+
|
213
|
+
<div class="method_details first">
|
214
|
+
<h3 class="signature first" id="is_email?-instance_method">
|
215
|
+
|
216
|
+
- (<tt>Boolean</tt>) <strong>is_email?</strong>(text)
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
</h3><div class="docstring">
|
223
|
+
<div class="discussion">
|
224
|
+
<p>Checks if the text is a valid email.</p>
|
225
|
+
|
226
|
+
|
227
|
+
</div>
|
228
|
+
</div>
|
229
|
+
<div class="tags">
|
230
|
+
<p class="tag_title">Parameters:</p>
|
231
|
+
<ul class="param">
|
232
|
+
|
233
|
+
<li>
|
234
|
+
|
235
|
+
<span class='name'>text</span>
|
236
|
+
|
237
|
+
|
238
|
+
<span class='type'>(<tt>String</tt>)</span>
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
—
|
243
|
+
<div class='inline'><p>The text to check.</p>
|
244
|
+
</div>
|
245
|
+
|
246
|
+
</li>
|
247
|
+
|
248
|
+
</ul>
|
249
|
+
|
250
|
+
<p class="tag_title">Returns:</p>
|
251
|
+
<ul class="return">
|
252
|
+
|
253
|
+
<li>
|
254
|
+
|
255
|
+
|
256
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
—
|
261
|
+
<div class='inline'><p><code>true</code> if the string is valid email, <code>false</code> otherwise.</p>
|
262
|
+
</div>
|
263
|
+
|
264
|
+
</li>
|
265
|
+
|
266
|
+
</ul>
|
267
|
+
|
268
|
+
</div><table class="source_code">
|
269
|
+
<tr>
|
270
|
+
<td>
|
271
|
+
<pre class="lines">
|
272
|
+
|
273
|
+
|
274
|
+
137
|
275
|
+
138
|
276
|
+
139
|
277
|
+
140</pre>
|
278
|
+
</td>
|
279
|
+
<td>
|
280
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 137</span>
|
281
|
+
|
282
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_text'>text</span><span class='rparen'>)</span>
|
283
|
+
<span class='id identifier rubyid_regex'>regex</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$</span><span class='regexp_end'>/i</span></span>
|
284
|
+
<span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>=~</span> <span class='id identifier rubyid_regex'>regex</span>
|
285
|
+
<span class='kw'>end</span></pre>
|
286
|
+
</td>
|
287
|
+
</tr>
|
288
|
+
</table>
|
289
|
+
</div>
|
290
|
+
|
291
|
+
<div class="method_details ">
|
292
|
+
<h3 class="signature " id="is_url?-instance_method">
|
293
|
+
|
294
|
+
- (<tt>Boolean</tt>) <strong>is_url?</strong>(text)
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
</h3><div class="docstring">
|
301
|
+
<div class="discussion">
|
302
|
+
<p>Checks if the text is a valid URL.</p>
|
303
|
+
|
304
|
+
|
305
|
+
</div>
|
306
|
+
</div>
|
307
|
+
<div class="tags">
|
308
|
+
<p class="tag_title">Parameters:</p>
|
309
|
+
<ul class="param">
|
310
|
+
|
311
|
+
<li>
|
312
|
+
|
313
|
+
<span class='name'>text</span>
|
314
|
+
|
315
|
+
|
316
|
+
<span class='type'>(<tt>String</tt>)</span>
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
—
|
321
|
+
<div class='inline'><p>The text to check.</p>
|
322
|
+
</div>
|
323
|
+
|
324
|
+
</li>
|
325
|
+
|
326
|
+
</ul>
|
327
|
+
|
328
|
+
<p class="tag_title">Returns:</p>
|
329
|
+
<ul class="return">
|
330
|
+
|
331
|
+
<li>
|
332
|
+
|
333
|
+
|
334
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
—
|
339
|
+
<div class='inline'><p><code>true</code> if the string is valid URL, <code>false</code> otherwise.</p>
|
340
|
+
</div>
|
341
|
+
|
342
|
+
</li>
|
343
|
+
|
344
|
+
</ul>
|
345
|
+
|
346
|
+
</div><table class="source_code">
|
347
|
+
<tr>
|
348
|
+
<td>
|
349
|
+
<pre class="lines">
|
350
|
+
|
351
|
+
|
352
|
+
146
|
353
|
+
147
|
354
|
+
148
|
355
|
+
149
|
356
|
+
150
|
357
|
+
151
|
358
|
+
152
|
359
|
+
153
|
360
|
+
154
|
361
|
+
155
|
362
|
+
156
|
363
|
+
157
|
364
|
+
158
|
365
|
+
159</pre>
|
366
|
+
</td>
|
367
|
+
<td>
|
368
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 146</span>
|
369
|
+
|
370
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_text'>text</span><span class='rparen'>)</span>
|
371
|
+
<span class='id identifier rubyid_regex'>regex</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>
|
372
|
+
^(
|
373
|
+
([a-z0-9\-]+:\/\/) #PROTOCOL
|
374
|
+
(([\w-]+\.)?) # LOWEST TLD
|
375
|
+
([\w-]+) # 2nd LEVEL TLD
|
376
|
+
(\.[a-z]+) # TOP TLD
|
377
|
+
((:\d+)?) # PORT
|
378
|
+
([\S|\?]*) # PATH, QUERYSTRING AND FRAGMENT
|
379
|
+
)$
|
380
|
+
</span><span class='regexp_end'>/ix</span></span>
|
381
|
+
|
382
|
+
<span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>=~</span> <span class='id identifier rubyid_regex'>regex</span>
|
383
|
+
<span class='kw'>end</span></pre>
|
384
|
+
</td>
|
385
|
+
</tr>
|
386
|
+
</table>
|
387
|
+
</div>
|
388
|
+
|
389
|
+
<div class="method_details ">
|
390
|
+
<h3 class="signature " id="sanitized_array-instance_method">
|
391
|
+
|
392
|
+
- (<tt>Array</tt>) <strong>sanitized_array</strong>(object, uniq = true, compact = false, sanitize_method = :ensure_string, &block)
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
|
398
|
+
</h3><div class="docstring">
|
399
|
+
<div class="discussion">
|
400
|
+
<p>Converts an object to a a flatten array with all values sanitized.</p>
|
401
|
+
|
402
|
+
|
403
|
+
</div>
|
404
|
+
</div>
|
405
|
+
<div class="tags">
|
406
|
+
<p class="tag_title">Parameters:</p>
|
407
|
+
<ul class="param">
|
408
|
+
|
409
|
+
<li>
|
410
|
+
|
411
|
+
<span class='name'>object</span>
|
412
|
+
|
413
|
+
|
414
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
—
|
419
|
+
<div class='inline'><p>The object to convert.</p>
|
420
|
+
</div>
|
421
|
+
|
422
|
+
</li>
|
423
|
+
|
424
|
+
<li>
|
425
|
+
|
426
|
+
<span class='name'>uniq</span>
|
427
|
+
|
428
|
+
|
429
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
430
|
+
|
431
|
+
|
432
|
+
<em class="default">(defaults to: <tt>true</tt>)</em>
|
433
|
+
|
434
|
+
|
435
|
+
—
|
436
|
+
<div class='inline'><p>If to remove duplicates from the array before sanitizing.</p>
|
437
|
+
</div>
|
438
|
+
|
439
|
+
</li>
|
440
|
+
|
441
|
+
<li>
|
442
|
+
|
443
|
+
<span class='name'>compact</span>
|
444
|
+
|
445
|
+
|
446
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
447
|
+
|
448
|
+
|
449
|
+
<em class="default">(defaults to: <tt>false</tt>)</em>
|
450
|
+
|
451
|
+
|
452
|
+
—
|
453
|
+
<div class='inline'><p>If to compact the array before sanitizing.</p>
|
454
|
+
</div>
|
455
|
+
|
456
|
+
</li>
|
457
|
+
|
458
|
+
<li>
|
459
|
+
|
460
|
+
<span class='name'>sanitize_method</span>
|
461
|
+
|
462
|
+
|
463
|
+
<span class='type'>(<tt>Symbol|nil</tt>)</span>
|
464
|
+
|
465
|
+
|
466
|
+
<em class="default">(defaults to: <tt>:ensure_string</tt>)</em>
|
467
|
+
|
468
|
+
|
469
|
+
—
|
470
|
+
<div class='inline'><p>If not <code>nil</code>, the method to use to sanitize entries. Ignored if a block is present.</p>
|
471
|
+
</div>
|
472
|
+
|
473
|
+
</li>
|
474
|
+
|
475
|
+
<li>
|
476
|
+
|
477
|
+
<span class='name'>block</span>
|
478
|
+
|
479
|
+
|
480
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
481
|
+
|
482
|
+
|
483
|
+
|
484
|
+
—
|
485
|
+
<div class='inline'><p>A block to sanitize entries. It must accept the value as unique argument.</p>
|
486
|
+
</div>
|
487
|
+
|
488
|
+
</li>
|
489
|
+
|
490
|
+
</ul>
|
491
|
+
|
492
|
+
<p class="tag_title">Returns:</p>
|
493
|
+
<ul class="return">
|
494
|
+
|
495
|
+
<li>
|
496
|
+
|
497
|
+
|
498
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
499
|
+
|
500
|
+
|
501
|
+
|
502
|
+
—
|
503
|
+
<div class='inline'><p>An flattened array whose all values are strings.</p>
|
504
|
+
</div>
|
505
|
+
|
506
|
+
</li>
|
507
|
+
|
508
|
+
</ul>
|
509
|
+
|
510
|
+
</div><table class="source_code">
|
511
|
+
<tr>
|
512
|
+
<td>
|
513
|
+
<pre class="lines">
|
514
|
+
|
515
|
+
|
516
|
+
188
|
517
|
+
189
|
518
|
+
190
|
519
|
+
191
|
520
|
+
192
|
521
|
+
193
|
522
|
+
194
|
523
|
+
195
|
524
|
+
196
|
525
|
+
197
|
526
|
+
198
|
527
|
+
199
|
528
|
+
200
|
529
|
+
201
|
530
|
+
202</pre>
|
531
|
+
</td>
|
532
|
+
<td>
|
533
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 188</span>
|
534
|
+
|
535
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_sanitized_array'>sanitized_array</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='comma'>,</span> <span class='id identifier rubyid_uniq'>uniq</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_compact'>compact</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitize_method'>sanitize_method</span> <span class='op'>=</span> <span class='symbol'>:ensure_string</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
536
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
|
537
|
+
<span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span> <span class='kw'>if</span> <span class='id identifier rubyid_uniq'>uniq</span>
|
538
|
+
<span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_compact!'>compact!</span> <span class='kw'>if</span> <span class='id identifier rubyid_compact'>compact</span>
|
539
|
+
|
540
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span> <span class='kw'>then</span>
|
541
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
542
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_sanitize_method'>sanitize_method</span> <span class='kw'>then</span>
|
543
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_sanitize_method'>sanitize_method</span><span class='rparen'>)</span>
|
544
|
+
<span class='kw'>end</span>
|
545
|
+
|
546
|
+
<span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span> <span class='kw'>if</span> <span class='id identifier rubyid_uniq'>uniq</span>
|
547
|
+
<span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_compact!'>compact!</span> <span class='kw'>if</span> <span class='id identifier rubyid_compact'>compact</span>
|
548
|
+
<span class='id identifier rubyid_rv'>rv</span>
|
549
|
+
<span class='kw'>end</span></pre>
|
550
|
+
</td>
|
551
|
+
</tr>
|
552
|
+
</table>
|
553
|
+
</div>
|
554
|
+
|
555
|
+
<div class="method_details ">
|
556
|
+
<h3 class="signature " id="sanitized_hash-instance_method">
|
557
|
+
|
558
|
+
- (<tt>Object</tt>) <strong>sanitized_hash</strong>(object, sanitize_method = nil, &block)
|
559
|
+
|
560
|
+
|
561
|
+
|
562
|
+
|
563
|
+
|
564
|
+
</h3><div class="docstring">
|
565
|
+
<div class="discussion">
|
566
|
+
<p>Converts an object making sure that every <code>Hash</code> is converted to a <code>HashWithIndifferentAccess</code>.</p>
|
567
|
+
|
568
|
+
|
569
|
+
</div>
|
570
|
+
</div>
|
571
|
+
<div class="tags">
|
572
|
+
<p class="tag_title">Parameters:</p>
|
573
|
+
<ul class="param">
|
574
|
+
|
575
|
+
<li>
|
576
|
+
|
577
|
+
<span class='name'>object</span>
|
578
|
+
|
579
|
+
|
580
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
581
|
+
|
582
|
+
|
583
|
+
|
584
|
+
—
|
585
|
+
<div class='inline'><p>The object to convert. If the object is not an Hash or doesn’t respond to <code>collect</code> then the original object is returned.</p>
|
586
|
+
</div>
|
587
|
+
|
588
|
+
</li>
|
589
|
+
|
590
|
+
<li>
|
591
|
+
|
592
|
+
<span class='name'>sanitize_method</span>
|
593
|
+
|
594
|
+
|
595
|
+
<span class='type'>(<tt>Symbol|nil</tt>)</span>
|
596
|
+
|
597
|
+
|
598
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
599
|
+
|
600
|
+
|
601
|
+
—
|
602
|
+
<div class='inline'><p>If not <code>nil</code>, the method to use to sanitize entries. Ignored if a block is present.</p>
|
603
|
+
</div>
|
604
|
+
|
605
|
+
</li>
|
606
|
+
|
607
|
+
<li>
|
608
|
+
|
609
|
+
<span class='name'>block</span>
|
610
|
+
|
611
|
+
|
612
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
613
|
+
|
614
|
+
|
615
|
+
|
616
|
+
—
|
617
|
+
<div class='inline'><p>A block to sanitize entries. It must accept the value as unique argument.</p>
|
618
|
+
</div>
|
619
|
+
|
620
|
+
</li>
|
621
|
+
|
622
|
+
</ul>
|
623
|
+
|
624
|
+
<p class="tag_title">Returns:</p>
|
625
|
+
<ul class="return">
|
626
|
+
|
627
|
+
<li>
|
628
|
+
|
629
|
+
|
630
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
631
|
+
|
632
|
+
|
633
|
+
|
634
|
+
—
|
635
|
+
<div class='inline'><p>The converted object.</p>
|
636
|
+
</div>
|
637
|
+
|
638
|
+
</li>
|
639
|
+
|
640
|
+
</ul>
|
641
|
+
|
642
|
+
</div><table class="source_code">
|
643
|
+
<tr>
|
644
|
+
<td>
|
645
|
+
<pre class="lines">
|
646
|
+
|
647
|
+
|
648
|
+
167
|
649
|
+
168
|
650
|
+
169
|
651
|
+
170
|
652
|
+
171
|
653
|
+
172
|
654
|
+
173
|
655
|
+
174
|
656
|
+
175
|
657
|
+
176
|
658
|
+
177
|
659
|
+
178</pre>
|
660
|
+
</td>
|
661
|
+
<td>
|
662
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 167</span>
|
663
|
+
|
664
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_sanitized_hash'>sanitized_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitize_method'>sanitize_method</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
665
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>HashWithIndifferentAccess</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
666
|
+
<span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_inject'>inject</span><span class='lparen'>(</span><span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='comma'>,</span> <span class='id identifier rubyid_pair'>pair</span><span class='op'>|</span>
|
667
|
+
<span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_pair'>pair</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_sanitized_hash'>sanitized_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_pair'>pair</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitize_method'>sanitize_method</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
668
|
+
<span class='id identifier rubyid_hash'>hash</span>
|
669
|
+
<span class='kw'>end</span>
|
670
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:collect</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
671
|
+
<span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_sanitized_hash'>sanitized_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitize_method'>sanitize_method</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
672
|
+
<span class='kw'>else</span>
|
673
|
+
<span class='id identifier rubyid_sanitized_hash_entry'>sanitized_hash_entry</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitize_method'>sanitize_method</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
674
|
+
<span class='kw'>end</span>
|
675
|
+
<span class='kw'>end</span></pre>
|
676
|
+
</td>
|
677
|
+
</tr>
|
678
|
+
</table>
|
679
|
+
</div>
|
680
|
+
|
681
|
+
</div>
|
682
|
+
|
683
|
+
</div>
|
684
|
+
|
685
|
+
<div id="footer">
|
686
|
+
Generated on Fri Mar 1 09:13:30 2013 by
|
687
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
688
|
+
0.8.5.2 (ruby-1.9.3).
|
689
|
+
</div>
|
690
|
+
|
691
|
+
</body>
|
692
|
+
</html>
|