mbrao 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -1
  3. data/.travis-gemfile +2 -3
  4. data/.travis.yml +5 -3
  5. data/.yardopts +1 -1
  6. data/CHANGELOG.md +8 -0
  7. data/Gemfile +1 -1
  8. data/LICENSE.md +21 -0
  9. data/README.md +21 -16
  10. data/Rakefile +1 -1
  11. data/{doc → docs}/ActionView.html +1 -1
  12. data/{doc → docs}/ActionView/Template.html +1 -1
  13. data/{doc → docs}/ActionView/Template/Handlers.html +1 -1
  14. data/{doc → docs}/ActionView/Template/Handlers/MbraoTemplate.html +1 -1
  15. data/{doc → docs}/HTML.html +1 -1
  16. data/{doc → docs}/HTML/Pipeline.html +1 -1
  17. data/{doc → docs}/HTML/Pipeline/KramdownFilter.html +1 -1
  18. data/{doc → docs}/Mbrao.html +1 -1
  19. data/{doc → docs}/Mbrao/Author.html +1 -1
  20. data/{doc → docs}/Mbrao/Content.html +1 -1
  21. data/{doc → docs}/Mbrao/ContentInterface.html +1 -1
  22. data/{doc → docs}/Mbrao/ContentInterface/ClassMethods.html +1 -1
  23. data/{doc → docs}/Mbrao/Exceptions.html +1 -1
  24. data/{doc → docs}/Mbrao/Exceptions/InvalidDate.html +1 -1
  25. data/{doc → docs}/Mbrao/Exceptions/InvalidMetadata.html +1 -1
  26. data/{doc → docs}/Mbrao/Exceptions/Parsing.html +1 -1
  27. data/{doc → docs}/Mbrao/Exceptions/Rendering.html +1 -1
  28. data/{doc → docs}/Mbrao/Exceptions/UnavailableLocalization.html +1 -1
  29. data/{doc → docs}/Mbrao/Exceptions/Unimplemented.html +1 -1
  30. data/{doc → docs}/Mbrao/Exceptions/UnknownEngine.html +1 -1
  31. data/{doc → docs}/Mbrao/Parser.html +1 -1
  32. data/{doc → docs}/Mbrao/ParserInterface.html +1 -1
  33. data/{doc → docs}/Mbrao/ParserInterface/ClassMethods.html +1 -1
  34. data/{doc → docs}/Mbrao/ParserValidations.html +1 -1
  35. data/{doc → docs}/Mbrao/ParserValidations/ClassMethods.html +1 -1
  36. data/{doc → docs}/Mbrao/ParsingEngines.html +1 -1
  37. data/{doc → docs}/Mbrao/ParsingEngines/Base.html +1 -1
  38. data/{doc → docs}/Mbrao/ParsingEngines/PlainText.html +1 -1
  39. data/{doc → docs}/Mbrao/RenderingEngines.html +1 -1
  40. data/{doc → docs}/Mbrao/RenderingEngines/Base.html +1 -1
  41. data/{doc → docs}/Mbrao/RenderingEngines/HtmlPipeline.html +1 -1
  42. data/{doc → docs}/Mbrao/Version.html +1 -1
  43. data/{doc → docs}/_index.html +1 -1
  44. data/{doc → docs}/class_list.html +0 -0
  45. data/{doc → docs}/css/common.css +0 -0
  46. data/{doc → docs}/css/full_list.css +0 -0
  47. data/{doc → docs}/css/style.css +0 -0
  48. data/{doc → docs}/file.README.html +7 -5
  49. data/{doc → docs}/file_list.html +0 -0
  50. data/{doc → docs}/frames.html +0 -0
  51. data/{doc → docs}/index.html +7 -5
  52. data/{doc → docs}/js/app.js +0 -0
  53. data/{doc → docs}/js/full_list.js +0 -0
  54. data/{doc → docs}/js/jquery.js +0 -0
  55. data/{doc → docs}/method_list.html +0 -0
  56. data/{doc → docs}/top-level-namespace.html +1 -1
  57. data/lib/mbrao.rb +1 -1
  58. data/lib/mbrao/author.rb +1 -1
  59. data/lib/mbrao/content.rb +1 -1
  60. data/lib/mbrao/content_interface.rb +1 -1
  61. data/lib/mbrao/exceptions.rb +1 -1
  62. data/lib/mbrao/integrations/rails.rb +1 -1
  63. data/lib/mbrao/parser.rb +1 -1
  64. data/lib/mbrao/parser_interface.rb +1 -1
  65. data/lib/mbrao/parser_validations.rb +1 -1
  66. data/lib/mbrao/parsing_engines/base.rb +1 -1
  67. data/lib/mbrao/parsing_engines/plain_text.rb +1 -1
  68. data/lib/mbrao/rendering_engines/base.rb +1 -1
  69. data/lib/mbrao/rendering_engines/html_pipeline.rb +1 -1
  70. data/lib/mbrao/rendering_engines/html_pipeline/kramdown_filter.rb +1 -1
  71. data/lib/mbrao/version.rb +2 -2
  72. data/mbrao.gemspec +1 -1
  73. data/spec/mbrao/author_spec.rb +1 -1
  74. data/spec/mbrao/content_spec.rb +1 -1
  75. data/spec/mbrao/integrations/rails_spec.rb +1 -1
  76. data/spec/mbrao/parser_spec.rb +1 -1
  77. data/spec/mbrao/parsing_engines/base_spec.rb +1 -1
  78. data/spec/mbrao/parsing_engines/plain_text_spec.rb +1 -1
  79. data/spec/mbrao/rendering_engines/base_spec.rb +1 -1
  80. data/spec/mbrao/rendering_engines/html_pipeline/kramdown_filter_spec.rb +1 -1
  81. data/spec/mbrao/rendering_engines/html_pipeline_spec.rb +1 -1
  82. data/spec/spec_helper.rb +1 -1
  83. metadata +50 -54
  84. data/doc/Mbrao/ContentPublicInterface.html +0 -662
  85. data/doc/Mbrao/PublicInterface.html +0 -134
  86. data/doc/Mbrao/PublicInterface/ClassMethods.html +0 -1715
  87. data/doc/Mbrao/Validations.html +0 -134
  88. data/doc/Mbrao/Validations/ClassMethods.html +0 -354
@@ -1,134 +0,0 @@
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::PublicInterface
8
-
9
- &mdash; Documentation by YARD 0.8.7.4
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '../';
20
- framesUrl = "../frames.html#!Mbrao/PublicInterface.html";
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="../_index.html">Index (P)</a> &raquo;
35
- <span class='title'><span class='object_link'><a href="../Mbrao.html" title="Mbrao (module)">Mbrao</a></span></span>
36
- &raquo;
37
- <span class="title">PublicInterface</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::PublicInterface
67
-
68
-
69
-
70
- </h1>
71
-
72
- <dl class="box">
73
-
74
-
75
-
76
- <dt class="r1">Extended by:</dt>
77
- <dd class="r1">ActiveSupport::Concern</dd>
78
-
79
-
80
-
81
-
82
-
83
-
84
- <dt class="r2">Included in:</dt>
85
- <dd class="r2"><span class='object_link'><a href="Parser.html" title="Mbrao::Parser (class)">Parser</a></span></dd>
86
-
87
-
88
-
89
- <dt class="r1 last">Defined in:</dt>
90
- <dd class="r1 last">lib/mbrao/parser.rb</dd>
91
-
92
- </dl>
93
- <div class="clear"></div>
94
-
95
- <h2>Overview</h2><div class="docstring">
96
- <div class="discussion">
97
- <p>Methods to allow class level access.</p>
98
-
99
-
100
- </div>
101
- </div>
102
- <div class="tags">
103
-
104
-
105
- </div><h2>Defined Under Namespace</h2>
106
- <p class="children">
107
-
108
-
109
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="PublicInterface/ClassMethods.html" title="Mbrao::PublicInterface::ClassMethods (module)">ClassMethods</a></span>
110
-
111
-
112
-
113
-
114
- </p>
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
- </div>
126
-
127
- <div id="footer">
128
- Generated on Wed Apr 9 21:36:00 2014 by
129
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
- 0.8.7.4 (ruby-2.1.0).
131
- </div>
132
-
133
- </body>
134
- </html>
@@ -1,1715 +0,0 @@
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::PublicInterface::ClassMethods
8
-
9
- &mdash; Documentation by YARD 0.8.7.4
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '../../';
20
- framesUrl = "../../frames.html#!Mbrao/PublicInterface/ClassMethods.html";
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="../../_index.html">Index (C)</a> &raquo;
35
- <span class='title'><span class='object_link'><a href="../../Mbrao.html" title="Mbrao (module)">Mbrao</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../PublicInterface.html" title="Mbrao::PublicInterface (module)">PublicInterface</a></span></span>
36
- &raquo;
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::PublicInterface::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
- <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
102
- <ul class="summary">
103
-
104
- <li class="public ">
105
- <span class="summary_signature">
106
-
107
- <a href="#default_locale-instance_method" title="#default_locale (instance method)">- (String) <strong>default_locale</strong> </a>
108
-
109
-
110
-
111
- </span>
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
- <span class="summary_desc"><div class='inline'><p>The mbrao default locale.</p>
125
- </div></span>
126
-
127
- </li>
128
-
129
-
130
- <li class="public ">
131
- <span class="summary_signature">
132
-
133
- <a href="#locale-instance_method" title="#locale (instance method)">- (String) <strong>locale</strong> </a>
134
-
135
-
136
-
137
- </span>
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
- <span class="summary_desc"><div class='inline'><p>Gets the default locale for mbrao.</p>
151
- </div></span>
152
-
153
- </li>
154
-
155
-
156
- <li class="public ">
157
- <span class="summary_signature">
158
-
159
- <a href="#parsing_engine-instance_method" title="#parsing_engine (instance method)">- (String) <strong>parsing_engine</strong> </a>
160
-
161
-
162
-
163
- </span>
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
- <span class="summary_desc"><div class='inline'><p>Gets the default parsing engine.</p>
177
- </div></span>
178
-
179
- </li>
180
-
181
-
182
- <li class="public ">
183
- <span class="summary_signature">
184
-
185
- <a href="#rendering_engine-instance_method" title="#rendering_engine (instance method)">- (String) <strong>rendering_engine</strong> </a>
186
-
187
-
188
-
189
- </span>
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
- <span class="summary_desc"><div class='inline'><p>Gets the default rendering engine.</p>
203
- </div></span>
204
-
205
- </li>
206
-
207
-
208
- </ul>
209
-
210
-
211
-
212
-
213
-
214
- <h2>
215
- Instance Method Summary
216
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
217
- </h2>
218
-
219
- <ul class="summary">
220
-
221
- <li class="public ">
222
- <span class="summary_signature">
223
-
224
- <a href="#as_json-instance_method" title="#as_json (instance method)">- (Hash) <strong>as_json</strong>(target, keys, options = {}) </a>
225
-
226
-
227
-
228
- </span>
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
-
238
- <span class="summary_desc"><div class='inline'><p>Returns an object as a JSON compatible hash.</p>
239
- </div></span>
240
-
241
- </li>
242
-
243
-
244
- <li class="public ">
245
- <span class="summary_signature">
246
-
247
- <a href="#create_engine-instance_method" title="#create_engine (instance method)">- (Object) <strong>create_engine</strong>(cls, type = :parsing) </a>
248
-
249
-
250
-
251
- </span>
252
-
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
- <span class="summary_desc"><div class='inline'><p>Instantiates a new engine for rendering or parsing.</p>
262
- </div></span>
263
-
264
- </li>
265
-
266
-
267
- <li class="public ">
268
- <span class="summary_signature">
269
-
270
- <a href="#instance-instance_method" title="#instance (instance method)">- (Parser) <strong>instance</strong>(force = false) </a>
271
-
272
-
273
-
274
- </span>
275
-
276
-
277
-
278
-
279
-
280
-
281
-
282
-
283
-
284
- <span class="summary_desc"><div class='inline'><p>Returns a unique (singleton) instance of the parser.</p>
285
- </div></span>
286
-
287
- </li>
288
-
289
-
290
- <li class="public ">
291
- <span class="summary_signature">
292
-
293
- <a href="#parse-instance_method" title="#parse (instance method)">- (Content) <strong>parse</strong>(content, options = {}) </a>
294
-
295
-
296
-
297
- </span>
298
-
299
-
300
-
301
-
302
-
303
-
304
-
305
-
306
-
307
- <span class="summary_desc"><div class='inline'><p>Parses a source text.</p>
308
- </div></span>
309
-
310
- </li>
311
-
312
-
313
- <li class="public ">
314
- <span class="summary_signature">
315
-
316
- <a href="#render-instance_method" title="#render (instance method)">- (String) <strong>render</strong>(content, options = {}, context = {}) </a>
317
-
318
-
319
-
320
- </span>
321
-
322
-
323
-
324
-
325
-
326
-
327
-
328
-
329
-
330
- <span class="summary_desc"><div class='inline'><p>Renders a content.</p>
331
- </div></span>
332
-
333
- </li>
334
-
335
-
336
- </ul>
337
-
338
-
339
-
340
- <div id="instance_attr_details" class="attr_details">
341
- <h2>Instance Attribute Details</h2>
342
-
343
-
344
- <span id="default_locale=-instance_method"></span>
345
- <div class="method_details first">
346
- <h3 class="signature first" id="default_locale-instance_method">
347
-
348
- - (<tt>String</tt>) <strong>default_locale</strong>
349
-
350
-
351
-
352
-
353
-
354
- </h3><div class="docstring">
355
- <div class="discussion">
356
- <p>Returns The mbrao default locale.</p>
357
-
358
-
359
- </div>
360
- </div>
361
- <div class="tags">
362
-
363
- <p class="tag_title">Returns:</p>
364
- <ul class="return">
365
-
366
- <li>
367
-
368
-
369
- <span class='type'>(<tt>String</tt>)</span>
370
-
371
-
372
-
373
- &mdash;
374
- <div class='inline'><p>The mbrao default locale.</p>
375
- </div>
376
-
377
- </li>
378
-
379
- </ul>
380
-
381
- </div><table class="source_code">
382
- <tr>
383
- <td>
384
- <pre class="lines">
385
-
386
-
387
- 21
388
- 22
389
- 23
390
- 24
391
- 25
392
- 26
393
- 27
394
- 28
395
- 29
396
- 30
397
- 31
398
- 32
399
- 33
400
- 34
401
- 35
402
- 36
403
- 37
404
- 38
405
- 39
406
- 40
407
- 41
408
- 42
409
- 43
410
- 44
411
- 45
412
- 46
413
- 47
414
- 48
415
- 49
416
- 50
417
- 51
418
- 52
419
- 53
420
- 54
421
- 55
422
- 56
423
- 57
424
- 58
425
- 59
426
- 60
427
- 61
428
- 62
429
- 63
430
- 64
431
- 65
432
- 66
433
- 67
434
- 68
435
- 69
436
- 70
437
- 71
438
- 72
439
- 73
440
- 74
441
- 75
442
- 76
443
- 77
444
- 78
445
- 79
446
- 80
447
- 81
448
- 82
449
- 83
450
- 84
451
- 85
452
- 86
453
- 87
454
- 88
455
- 89
456
- 90
457
- 91
458
- 92
459
- 93
460
- 94
461
- 95
462
- 96
463
- 97
464
- 98
465
- 99
466
- 100
467
- 101
468
- 102
469
- 103
470
- 104
471
- 105
472
- 106
473
- 107
474
- 108
475
- 109
476
- 110
477
- 111
478
- 112
479
- 113
480
- 114
481
- 115
482
- 116
483
- 117
484
- 118
485
- 119
486
- 120
487
- 121
488
- 122
489
- 123</pre>
490
- </td>
491
- <td>
492
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 21</span>
493
-
494
- <span class='kw'>module</span> <span class='const'>ClassMethods</span>
495
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
496
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:parsing_engine</span>
497
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:rendering_engine</span>
498
-
499
- <span class='comment'># Gets the default locale for mbrao.
500
- </span> <span class='comment'>#
501
- </span> <span class='comment'># @return [String] The default locale.
502
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_locale'>locale</span>
503
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@locale</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>en</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
504
- <span class='kw'>end</span>
505
-
506
- <span class='comment'># Gets the default parsing engine.
507
- </span> <span class='comment'>#
508
- </span> <span class='comment'># @return [String] The default parsing engine.
509
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_parsing_engine'>parsing_engine</span>
510
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@parsing_engine</span><span class='comma'>,</span> <span class='symbol'>:plain_text</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='rparen'>)</span>
511
- <span class='kw'>end</span>
512
-
513
- <span class='comment'># Gets the default rendering engine.
514
- </span> <span class='comment'>#
515
- </span> <span class='comment'># @return [String] The default rendering engine.
516
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_rendering_engine'>rendering_engine</span>
517
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@rendering_engine</span><span class='comma'>,</span> <span class='symbol'>:html_pipeline</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='rparen'>)</span>
518
- <span class='kw'>end</span>
519
-
520
- <span class='comment'># Parses a source text.
521
- </span> <span class='comment'>#
522
- </span> <span class='comment'># @param content [Object] The content to parse.
523
- </span> <span class='comment'># @param options [Hash] A list of options for parsing.
524
- </span> <span class='comment'># @return [Content] The parsed data.
525
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
526
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
527
- <span class='kw'>end</span>
528
-
529
- <span class='comment'># Renders a content.
530
- </span> <span class='comment'>#
531
- </span> <span class='comment'># @param content [Content] The content to parse.
532
- </span> <span class='comment'># @param options [Hash] A list of options for renderer.
533
- </span> <span class='comment'># @param context [Hash] A context for rendering.
534
- </span> <span class='comment'># @return [String] The rendered content.
535
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
536
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
537
- <span class='kw'>end</span>
538
-
539
- <span class='comment'># Returns an object as a JSON compatible hash
540
- </span> <span class='comment'>#
541
- </span> <span class='comment'># @param target [Object] The target to serialize.
542
- </span> <span class='comment'># @param keys [Array] The attributes to include in the serialization
543
- </span> <span class='comment'># @param options [Hash] Options to modify behavior of the serialization.
544
- </span> <span class='comment'># The only supported value are:
545
- </span> <span class='comment'>#
546
- </span> <span class='comment'># * `:exclude`, an array of attributes to skip.
547
- </span> <span class='comment'># * `:exclude_empty`, if to exclude nil values. Default is `false`.
548
- </span> <span class='comment'># @return [Hash] An hash with all attributes.
549
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='comma'>,</span> <span class='id identifier rubyid_keys'>keys</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
550
- <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude_empty</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</span>
551
- <span class='id identifier rubyid_exclude'>exclude</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
552
- <span class='id identifier rubyid_keys'>keys</span> <span class='op'>=</span> <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
553
-
554
- <span class='lparen'>(</span><span class='id identifier rubyid_keys'>keys</span> <span class='op'>-</span> <span class='id identifier rubyid_exclude'>exclude</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
555
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
556
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_as_json'>as_json</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:as_json</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</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='lparen'>(</span><span class='const'>Symbol</span><span class='rparen'>)</span>
557
- <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
558
- <span class='id identifier rubyid_rv'>rv</span>
559
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_deep_stringify_keys'>deep_stringify_keys</span>
560
- <span class='kw'>end</span>
561
-
562
- <span class='comment'># Instantiates a new engine for rendering or parsing.
563
- </span> <span class='comment'>#
564
- </span> <span class='comment'># @param cls [String|Symbol|Object] If a `String` or a `Symbol`, then it will be the class of the engine.
565
- </span> <span class='comment'># @param type [Symbol] The type or engine. Can be `:parsing` or `:rendering`.
566
- </span> <span class='comment'># @return [Object] A new engine.
567
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_create_engine'>create_engine</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span><span class='rparen'>)</span>
568
- <span class='kw'>begin</span>
569
- <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:rendering</span>
570
- <span class='op'>::</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_find_class'>find_class</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>::Mbrao::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_classify'>classify</span><span class='embexpr_end'>}</span><span class='tstring_content'>Engines::%CLASS%</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
571
- <span class='kw'>rescue</span> <span class='const'>NameError</span>
572
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>UnknownEngine</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
573
- <span class='kw'>end</span>
574
- <span class='kw'>end</span>
575
-
576
- <span class='comment'># Returns a unique (singleton) instance of the parser.
577
- </span> <span class='comment'>#
578
- </span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
579
- </span> <span class='comment'># @return [Parser] The unique (singleton) instance of the parser.
580
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
581
- <span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
582
- <span class='ivar'>@instance</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_new'>new</span>
583
- <span class='kw'>end</span>
584
-
585
- <span class='id identifier rubyid_private'>private</span>
586
- <span class='comment'># Returns an attribute or a default value.
587
- </span> <span class='comment'>#
588
- </span> <span class='comment'># @param attr [Object ]The attribute to return.
589
- </span> <span class='comment'># @param default_value [Object] The value to return if `attr` is blank.
590
- </span> <span class='comment'># @param sanitizer [Symbol] An optional method to sanitize the returned value.
591
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='id identifier rubyid_attr'>attr</span><span class='comma'>,</span> <span class='id identifier rubyid_default_value'>default_value</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitizer'>sanitizer</span> <span class='op'>=</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
592
- <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_attr'>attr</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_attr'>attr</span> <span class='op'>:</span> <span class='id identifier rubyid_default_value'>default_value</span>
593
- <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_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_sanitizer'>sanitizer</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_sanitizer'>sanitizer</span>
594
- <span class='id identifier rubyid_rv'>rv</span>
595
- <span class='kw'>end</span>
596
- <span class='kw'>end</span></pre>
597
- </td>
598
- </tr>
599
- </table>
600
- </div>
601
-
602
-
603
- <span id="locale=-instance_method"></span>
604
- <div class="method_details ">
605
- <h3 class="signature " id="locale-instance_method">
606
-
607
- - (<tt>String</tt>) <strong>locale</strong>
608
-
609
-
610
-
611
-
612
-
613
- </h3><div class="docstring">
614
- <div class="discussion">
615
- <p>Gets the default locale for mbrao.</p>
616
-
617
-
618
- </div>
619
- </div>
620
- <div class="tags">
621
-
622
- <p class="tag_title">Returns:</p>
623
- <ul class="return">
624
-
625
- <li>
626
-
627
-
628
- <span class='type'>(<tt>String</tt>)</span>
629
-
630
-
631
-
632
- &mdash;
633
- <div class='inline'><p>The default locale.</p>
634
- </div>
635
-
636
- </li>
637
-
638
- </ul>
639
-
640
- </div><table class="source_code">
641
- <tr>
642
- <td>
643
- <pre class="lines">
644
-
645
-
646
- 29
647
- 30
648
- 31</pre>
649
- </td>
650
- <td>
651
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 29</span>
652
-
653
- <span class='kw'>def</span> <span class='id identifier rubyid_locale'>locale</span>
654
- <span class='ivar'>@locale</span>
655
- <span class='kw'>end</span></pre>
656
- </td>
657
- </tr>
658
- </table>
659
- </div>
660
-
661
-
662
- <span id="parsing_engine=-instance_method"></span>
663
- <div class="method_details ">
664
- <h3 class="signature " id="parsing_engine-instance_method">
665
-
666
- - (<tt>String</tt>) <strong>parsing_engine</strong>
667
-
668
-
669
-
670
-
671
-
672
- </h3><div class="docstring">
673
- <div class="discussion">
674
- <p>Gets the default parsing engine.</p>
675
-
676
-
677
- </div>
678
- </div>
679
- <div class="tags">
680
-
681
- <p class="tag_title">Returns:</p>
682
- <ul class="return">
683
-
684
- <li>
685
-
686
-
687
- <span class='type'>(<tt>String</tt>)</span>
688
-
689
-
690
-
691
- &mdash;
692
- <div class='inline'><p>The default parsing engine.</p>
693
- </div>
694
-
695
- </li>
696
-
697
- </ul>
698
-
699
- </div><table class="source_code">
700
- <tr>
701
- <td>
702
- <pre class="lines">
703
-
704
-
705
- 21
706
- 22
707
- 23
708
- 24
709
- 25
710
- 26
711
- 27
712
- 28
713
- 29
714
- 30
715
- 31
716
- 32
717
- 33
718
- 34
719
- 35
720
- 36
721
- 37
722
- 38
723
- 39
724
- 40
725
- 41
726
- 42
727
- 43
728
- 44
729
- 45
730
- 46
731
- 47
732
- 48
733
- 49
734
- 50
735
- 51
736
- 52
737
- 53
738
- 54
739
- 55
740
- 56
741
- 57
742
- 58
743
- 59
744
- 60
745
- 61
746
- 62
747
- 63
748
- 64
749
- 65
750
- 66
751
- 67
752
- 68
753
- 69
754
- 70
755
- 71
756
- 72
757
- 73
758
- 74
759
- 75
760
- 76
761
- 77
762
- 78
763
- 79
764
- 80
765
- 81
766
- 82
767
- 83
768
- 84
769
- 85
770
- 86
771
- 87
772
- 88
773
- 89
774
- 90
775
- 91
776
- 92
777
- 93
778
- 94
779
- 95
780
- 96
781
- 97
782
- 98
783
- 99
784
- 100
785
- 101
786
- 102
787
- 103
788
- 104
789
- 105
790
- 106
791
- 107
792
- 108
793
- 109
794
- 110
795
- 111
796
- 112
797
- 113
798
- 114
799
- 115
800
- 116
801
- 117
802
- 118
803
- 119
804
- 120
805
- 121
806
- 122
807
- 123</pre>
808
- </td>
809
- <td>
810
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 21</span>
811
-
812
- <span class='kw'>module</span> <span class='const'>ClassMethods</span>
813
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
814
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:parsing_engine</span>
815
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:rendering_engine</span>
816
-
817
- <span class='comment'># Gets the default locale for mbrao.
818
- </span> <span class='comment'>#
819
- </span> <span class='comment'># @return [String] The default locale.
820
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_locale'>locale</span>
821
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@locale</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>en</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
822
- <span class='kw'>end</span>
823
-
824
- <span class='comment'># Gets the default parsing engine.
825
- </span> <span class='comment'>#
826
- </span> <span class='comment'># @return [String] The default parsing engine.
827
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_parsing_engine'>parsing_engine</span>
828
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@parsing_engine</span><span class='comma'>,</span> <span class='symbol'>:plain_text</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='rparen'>)</span>
829
- <span class='kw'>end</span>
830
-
831
- <span class='comment'># Gets the default rendering engine.
832
- </span> <span class='comment'>#
833
- </span> <span class='comment'># @return [String] The default rendering engine.
834
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_rendering_engine'>rendering_engine</span>
835
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@rendering_engine</span><span class='comma'>,</span> <span class='symbol'>:html_pipeline</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='rparen'>)</span>
836
- <span class='kw'>end</span>
837
-
838
- <span class='comment'># Parses a source text.
839
- </span> <span class='comment'>#
840
- </span> <span class='comment'># @param content [Object] The content to parse.
841
- </span> <span class='comment'># @param options [Hash] A list of options for parsing.
842
- </span> <span class='comment'># @return [Content] The parsed data.
843
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
844
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
845
- <span class='kw'>end</span>
846
-
847
- <span class='comment'># Renders a content.
848
- </span> <span class='comment'>#
849
- </span> <span class='comment'># @param content [Content] The content to parse.
850
- </span> <span class='comment'># @param options [Hash] A list of options for renderer.
851
- </span> <span class='comment'># @param context [Hash] A context for rendering.
852
- </span> <span class='comment'># @return [String] The rendered content.
853
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
854
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
855
- <span class='kw'>end</span>
856
-
857
- <span class='comment'># Returns an object as a JSON compatible hash
858
- </span> <span class='comment'>#
859
- </span> <span class='comment'># @param target [Object] The target to serialize.
860
- </span> <span class='comment'># @param keys [Array] The attributes to include in the serialization
861
- </span> <span class='comment'># @param options [Hash] Options to modify behavior of the serialization.
862
- </span> <span class='comment'># The only supported value are:
863
- </span> <span class='comment'>#
864
- </span> <span class='comment'># * `:exclude`, an array of attributes to skip.
865
- </span> <span class='comment'># * `:exclude_empty`, if to exclude nil values. Default is `false`.
866
- </span> <span class='comment'># @return [Hash] An hash with all attributes.
867
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='comma'>,</span> <span class='id identifier rubyid_keys'>keys</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
868
- <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude_empty</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</span>
869
- <span class='id identifier rubyid_exclude'>exclude</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
870
- <span class='id identifier rubyid_keys'>keys</span> <span class='op'>=</span> <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
871
-
872
- <span class='lparen'>(</span><span class='id identifier rubyid_keys'>keys</span> <span class='op'>-</span> <span class='id identifier rubyid_exclude'>exclude</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
873
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
874
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_as_json'>as_json</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:as_json</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</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='lparen'>(</span><span class='const'>Symbol</span><span class='rparen'>)</span>
875
- <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
876
- <span class='id identifier rubyid_rv'>rv</span>
877
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_deep_stringify_keys'>deep_stringify_keys</span>
878
- <span class='kw'>end</span>
879
-
880
- <span class='comment'># Instantiates a new engine for rendering or parsing.
881
- </span> <span class='comment'>#
882
- </span> <span class='comment'># @param cls [String|Symbol|Object] If a `String` or a `Symbol`, then it will be the class of the engine.
883
- </span> <span class='comment'># @param type [Symbol] The type or engine. Can be `:parsing` or `:rendering`.
884
- </span> <span class='comment'># @return [Object] A new engine.
885
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_create_engine'>create_engine</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span><span class='rparen'>)</span>
886
- <span class='kw'>begin</span>
887
- <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:rendering</span>
888
- <span class='op'>::</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_find_class'>find_class</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>::Mbrao::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_classify'>classify</span><span class='embexpr_end'>}</span><span class='tstring_content'>Engines::%CLASS%</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
889
- <span class='kw'>rescue</span> <span class='const'>NameError</span>
890
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>UnknownEngine</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
891
- <span class='kw'>end</span>
892
- <span class='kw'>end</span>
893
-
894
- <span class='comment'># Returns a unique (singleton) instance of the parser.
895
- </span> <span class='comment'>#
896
- </span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
897
- </span> <span class='comment'># @return [Parser] The unique (singleton) instance of the parser.
898
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
899
- <span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
900
- <span class='ivar'>@instance</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_new'>new</span>
901
- <span class='kw'>end</span>
902
-
903
- <span class='id identifier rubyid_private'>private</span>
904
- <span class='comment'># Returns an attribute or a default value.
905
- </span> <span class='comment'>#
906
- </span> <span class='comment'># @param attr [Object ]The attribute to return.
907
- </span> <span class='comment'># @param default_value [Object] The value to return if `attr` is blank.
908
- </span> <span class='comment'># @param sanitizer [Symbol] An optional method to sanitize the returned value.
909
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='id identifier rubyid_attr'>attr</span><span class='comma'>,</span> <span class='id identifier rubyid_default_value'>default_value</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitizer'>sanitizer</span> <span class='op'>=</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
910
- <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_attr'>attr</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_attr'>attr</span> <span class='op'>:</span> <span class='id identifier rubyid_default_value'>default_value</span>
911
- <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_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_sanitizer'>sanitizer</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_sanitizer'>sanitizer</span>
912
- <span class='id identifier rubyid_rv'>rv</span>
913
- <span class='kw'>end</span>
914
- <span class='kw'>end</span></pre>
915
- </td>
916
- </tr>
917
- </table>
918
- </div>
919
-
920
-
921
- <span id="rendering_engine=-instance_method"></span>
922
- <div class="method_details ">
923
- <h3 class="signature " id="rendering_engine-instance_method">
924
-
925
- - (<tt>String</tt>) <strong>rendering_engine</strong>
926
-
927
-
928
-
929
-
930
-
931
- </h3><div class="docstring">
932
- <div class="discussion">
933
- <p>Gets the default rendering engine.</p>
934
-
935
-
936
- </div>
937
- </div>
938
- <div class="tags">
939
-
940
- <p class="tag_title">Returns:</p>
941
- <ul class="return">
942
-
943
- <li>
944
-
945
-
946
- <span class='type'>(<tt>String</tt>)</span>
947
-
948
-
949
-
950
- &mdash;
951
- <div class='inline'><p>The default rendering engine.</p>
952
- </div>
953
-
954
- </li>
955
-
956
- </ul>
957
-
958
- </div><table class="source_code">
959
- <tr>
960
- <td>
961
- <pre class="lines">
962
-
963
-
964
- 21
965
- 22
966
- 23
967
- 24
968
- 25
969
- 26
970
- 27
971
- 28
972
- 29
973
- 30
974
- 31
975
- 32
976
- 33
977
- 34
978
- 35
979
- 36
980
- 37
981
- 38
982
- 39
983
- 40
984
- 41
985
- 42
986
- 43
987
- 44
988
- 45
989
- 46
990
- 47
991
- 48
992
- 49
993
- 50
994
- 51
995
- 52
996
- 53
997
- 54
998
- 55
999
- 56
1000
- 57
1001
- 58
1002
- 59
1003
- 60
1004
- 61
1005
- 62
1006
- 63
1007
- 64
1008
- 65
1009
- 66
1010
- 67
1011
- 68
1012
- 69
1013
- 70
1014
- 71
1015
- 72
1016
- 73
1017
- 74
1018
- 75
1019
- 76
1020
- 77
1021
- 78
1022
- 79
1023
- 80
1024
- 81
1025
- 82
1026
- 83
1027
- 84
1028
- 85
1029
- 86
1030
- 87
1031
- 88
1032
- 89
1033
- 90
1034
- 91
1035
- 92
1036
- 93
1037
- 94
1038
- 95
1039
- 96
1040
- 97
1041
- 98
1042
- 99
1043
- 100
1044
- 101
1045
- 102
1046
- 103
1047
- 104
1048
- 105
1049
- 106
1050
- 107
1051
- 108
1052
- 109
1053
- 110
1054
- 111
1055
- 112
1056
- 113
1057
- 114
1058
- 115
1059
- 116
1060
- 117
1061
- 118
1062
- 119
1063
- 120
1064
- 121
1065
- 122
1066
- 123</pre>
1067
- </td>
1068
- <td>
1069
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 21</span>
1070
-
1071
- <span class='kw'>module</span> <span class='const'>ClassMethods</span>
1072
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
1073
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:parsing_engine</span>
1074
- <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:rendering_engine</span>
1075
-
1076
- <span class='comment'># Gets the default locale for mbrao.
1077
- </span> <span class='comment'>#
1078
- </span> <span class='comment'># @return [String] The default locale.
1079
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_locale'>locale</span>
1080
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@locale</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>en</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1081
- <span class='kw'>end</span>
1082
-
1083
- <span class='comment'># Gets the default parsing engine.
1084
- </span> <span class='comment'>#
1085
- </span> <span class='comment'># @return [String] The default parsing engine.
1086
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_parsing_engine'>parsing_engine</span>
1087
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@parsing_engine</span><span class='comma'>,</span> <span class='symbol'>:plain_text</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='rparen'>)</span>
1088
- <span class='kw'>end</span>
1089
-
1090
- <span class='comment'># Gets the default rendering engine.
1091
- </span> <span class='comment'>#
1092
- </span> <span class='comment'># @return [String] The default rendering engine.
1093
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_rendering_engine'>rendering_engine</span>
1094
- <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='ivar'>@rendering_engine</span><span class='comma'>,</span> <span class='symbol'>:html_pipeline</span><span class='comma'>,</span> <span class='symbol'>:to_sym</span><span class='rparen'>)</span>
1095
- <span class='kw'>end</span>
1096
-
1097
- <span class='comment'># Parses a source text.
1098
- </span> <span class='comment'>#
1099
- </span> <span class='comment'># @param content [Object] The content to parse.
1100
- </span> <span class='comment'># @param options [Hash] A list of options for parsing.
1101
- </span> <span class='comment'># @return [Content] The parsed data.
1102
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1103
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1104
- <span class='kw'>end</span>
1105
-
1106
- <span class='comment'># Renders a content.
1107
- </span> <span class='comment'>#
1108
- </span> <span class='comment'># @param content [Content] The content to parse.
1109
- </span> <span class='comment'># @param options [Hash] A list of options for renderer.
1110
- </span> <span class='comment'># @param context [Hash] A context for rendering.
1111
- </span> <span class='comment'># @return [String] The rendered content.
1112
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1113
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
1114
- <span class='kw'>end</span>
1115
-
1116
- <span class='comment'># Returns an object as a JSON compatible hash
1117
- </span> <span class='comment'>#
1118
- </span> <span class='comment'># @param target [Object] The target to serialize.
1119
- </span> <span class='comment'># @param keys [Array] The attributes to include in the serialization
1120
- </span> <span class='comment'># @param options [Hash] Options to modify behavior of the serialization.
1121
- </span> <span class='comment'># The only supported value are:
1122
- </span> <span class='comment'>#
1123
- </span> <span class='comment'># * `:exclude`, an array of attributes to skip.
1124
- </span> <span class='comment'># * `:exclude_empty`, if to exclude nil values. Default is `false`.
1125
- </span> <span class='comment'># @return [Hash] An hash with all attributes.
1126
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='comma'>,</span> <span class='id identifier rubyid_keys'>keys</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1127
- <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude_empty</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</span>
1128
- <span class='id identifier rubyid_exclude'>exclude</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
1129
- <span class='id identifier rubyid_keys'>keys</span> <span class='op'>=</span> <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
1130
-
1131
- <span class='lparen'>(</span><span class='id identifier rubyid_keys'>keys</span> <span class='op'>-</span> <span class='id identifier rubyid_exclude'>exclude</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
1132
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
1133
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_as_json'>as_json</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:as_json</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</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='lparen'>(</span><span class='const'>Symbol</span><span class='rparen'>)</span>
1134
- <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1135
- <span class='id identifier rubyid_rv'>rv</span>
1136
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_deep_stringify_keys'>deep_stringify_keys</span>
1137
- <span class='kw'>end</span>
1138
-
1139
- <span class='comment'># Instantiates a new engine for rendering or parsing.
1140
- </span> <span class='comment'>#
1141
- </span> <span class='comment'># @param cls [String|Symbol|Object] If a `String` or a `Symbol`, then it will be the class of the engine.
1142
- </span> <span class='comment'># @param type [Symbol] The type or engine. Can be `:parsing` or `:rendering`.
1143
- </span> <span class='comment'># @return [Object] A new engine.
1144
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_create_engine'>create_engine</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span><span class='rparen'>)</span>
1145
- <span class='kw'>begin</span>
1146
- <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:rendering</span>
1147
- <span class='op'>::</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_find_class'>find_class</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>::Mbrao::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_classify'>classify</span><span class='embexpr_end'>}</span><span class='tstring_content'>Engines::%CLASS%</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1148
- <span class='kw'>rescue</span> <span class='const'>NameError</span>
1149
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>UnknownEngine</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1150
- <span class='kw'>end</span>
1151
- <span class='kw'>end</span>
1152
-
1153
- <span class='comment'># Returns a unique (singleton) instance of the parser.
1154
- </span> <span class='comment'>#
1155
- </span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
1156
- </span> <span class='comment'># @return [Parser] The unique (singleton) instance of the parser.
1157
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
1158
- <span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
1159
- <span class='ivar'>@instance</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_new'>new</span>
1160
- <span class='kw'>end</span>
1161
-
1162
- <span class='id identifier rubyid_private'>private</span>
1163
- <span class='comment'># Returns an attribute or a default value.
1164
- </span> <span class='comment'>#
1165
- </span> <span class='comment'># @param attr [Object ]The attribute to return.
1166
- </span> <span class='comment'># @param default_value [Object] The value to return if `attr` is blank.
1167
- </span> <span class='comment'># @param sanitizer [Symbol] An optional method to sanitize the returned value.
1168
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_attribute_or_default'>attribute_or_default</span><span class='lparen'>(</span><span class='id identifier rubyid_attr'>attr</span><span class='comma'>,</span> <span class='id identifier rubyid_default_value'>default_value</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_sanitizer'>sanitizer</span> <span class='op'>=</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
1169
- <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_attr'>attr</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_attr'>attr</span> <span class='op'>:</span> <span class='id identifier rubyid_default_value'>default_value</span>
1170
- <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_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_sanitizer'>sanitizer</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_sanitizer'>sanitizer</span>
1171
- <span class='id identifier rubyid_rv'>rv</span>
1172
- <span class='kw'>end</span>
1173
- <span class='kw'>end</span></pre>
1174
- </td>
1175
- </tr>
1176
- </table>
1177
- </div>
1178
-
1179
- </div>
1180
-
1181
-
1182
- <div id="instance_method_details" class="method_details_list">
1183
- <h2>Instance Method Details</h2>
1184
-
1185
-
1186
- <div class="method_details first">
1187
- <h3 class="signature first" id="as_json-instance_method">
1188
-
1189
- - (<tt>Hash</tt>) <strong>as_json</strong>(target, keys, options = {})
1190
-
1191
-
1192
-
1193
-
1194
-
1195
- </h3><div class="docstring">
1196
- <div class="discussion">
1197
- <p>Returns an object as a JSON compatible hash</p>
1198
-
1199
-
1200
- </div>
1201
- </div>
1202
- <div class="tags">
1203
- <p class="tag_title">Parameters:</p>
1204
- <ul class="param">
1205
-
1206
- <li>
1207
-
1208
- <span class='name'>target</span>
1209
-
1210
-
1211
- <span class='type'>(<tt>Object</tt>)</span>
1212
-
1213
-
1214
-
1215
- &mdash;
1216
- <div class='inline'><p>The target to serialize.</p>
1217
- </div>
1218
-
1219
- </li>
1220
-
1221
- <li>
1222
-
1223
- <span class='name'>keys</span>
1224
-
1225
-
1226
- <span class='type'>(<tt>Array</tt>)</span>
1227
-
1228
-
1229
-
1230
- &mdash;
1231
- <div class='inline'><p>The attributes to include in the serialization</p>
1232
- </div>
1233
-
1234
- </li>
1235
-
1236
- <li>
1237
-
1238
- <span class='name'>options</span>
1239
-
1240
-
1241
- <span class='type'>(<tt>Hash</tt>)</span>
1242
-
1243
-
1244
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1245
-
1246
-
1247
- &mdash;
1248
- <div class='inline'><p>Options to modify behavior of the serialization.
1249
- The only supported value are:</p>
1250
-
1251
- <ul>
1252
- <li><code>:exclude</code>, an array of attributes to skip.</li>
1253
- <li><code>:exclude_empty</code>, if to exclude nil values. Default is <code>false</code>.</li>
1254
- </ul>
1255
- </div>
1256
-
1257
- </li>
1258
-
1259
- </ul>
1260
-
1261
- <p class="tag_title">Returns:</p>
1262
- <ul class="return">
1263
-
1264
- <li>
1265
-
1266
-
1267
- <span class='type'>(<tt>Hash</tt>)</span>
1268
-
1269
-
1270
-
1271
- &mdash;
1272
- <div class='inline'><p>An hash with all attributes.</p>
1273
- </div>
1274
-
1275
- </li>
1276
-
1277
- </ul>
1278
-
1279
- </div><table class="source_code">
1280
- <tr>
1281
- <td>
1282
- <pre class="lines">
1283
-
1284
-
1285
- 76
1286
- 77
1287
- 78
1288
- 79
1289
- 80
1290
- 81
1291
- 82
1292
- 83
1293
- 84
1294
- 85
1295
- 86
1296
- 87</pre>
1297
- </td>
1298
- <td>
1299
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 76</span>
1300
-
1301
- <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='comma'>,</span> <span class='id identifier rubyid_keys'>keys</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1302
- <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude_empty</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</span>
1303
- <span class='id identifier rubyid_exclude'>exclude</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:exclude</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
1304
- <span class='id identifier rubyid_keys'>keys</span> <span class='op'>=</span> <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span>
1305
-
1306
- <span class='lparen'>(</span><span class='id identifier rubyid_keys'>keys</span> <span class='op'>-</span> <span class='id identifier rubyid_exclude'>exclude</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
1307
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
1308
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_as_json'>as_json</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:as_json</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</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='lparen'>(</span><span class='const'>Symbol</span><span class='rparen'>)</span>
1309
- <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_include_empty'>include_empty</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1310
- <span class='id identifier rubyid_rv'>rv</span>
1311
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_deep_stringify_keys'>deep_stringify_keys</span>
1312
- <span class='kw'>end</span></pre>
1313
- </td>
1314
- </tr>
1315
- </table>
1316
- </div>
1317
-
1318
- <div class="method_details ">
1319
- <h3 class="signature " id="create_engine-instance_method">
1320
-
1321
- - (<tt>Object</tt>) <strong>create_engine</strong>(cls, type = :parsing)
1322
-
1323
-
1324
-
1325
-
1326
-
1327
- </h3><div class="docstring">
1328
- <div class="discussion">
1329
- <p>Instantiates a new engine for rendering or parsing.</p>
1330
-
1331
-
1332
- </div>
1333
- </div>
1334
- <div class="tags">
1335
- <p class="tag_title">Parameters:</p>
1336
- <ul class="param">
1337
-
1338
- <li>
1339
-
1340
- <span class='name'>cls</span>
1341
-
1342
-
1343
- <span class='type'>(<tt>String|Symbol|Object</tt>)</span>
1344
-
1345
-
1346
-
1347
- &mdash;
1348
- <div class='inline'><p>If a <code>String</code> or a <code>Symbol</code>, then it will be the class of the engine.</p>
1349
- </div>
1350
-
1351
- </li>
1352
-
1353
- <li>
1354
-
1355
- <span class='name'>type</span>
1356
-
1357
-
1358
- <span class='type'>(<tt>Symbol</tt>)</span>
1359
-
1360
-
1361
- <em class="default">(defaults to: <tt>:parsing</tt>)</em>
1362
-
1363
-
1364
- &mdash;
1365
- <div class='inline'><p>The type or engine. Can be <code>:parsing</code> or <code>:rendering</code>.</p>
1366
- </div>
1367
-
1368
- </li>
1369
-
1370
- </ul>
1371
-
1372
- <p class="tag_title">Returns:</p>
1373
- <ul class="return">
1374
-
1375
- <li>
1376
-
1377
-
1378
- <span class='type'>(<tt>Object</tt>)</span>
1379
-
1380
-
1381
-
1382
- &mdash;
1383
- <div class='inline'><p>A new engine.</p>
1384
- </div>
1385
-
1386
- </li>
1387
-
1388
- </ul>
1389
-
1390
- </div><table class="source_code">
1391
- <tr>
1392
- <td>
1393
- <pre class="lines">
1394
-
1395
-
1396
- 94
1397
- 95
1398
- 96
1399
- 97
1400
- 98
1401
- 99
1402
- 100
1403
- 101</pre>
1404
- </td>
1405
- <td>
1406
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 94</span>
1407
-
1408
- <span class='kw'>def</span> <span class='id identifier rubyid_create_engine'>create_engine</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span><span class='rparen'>)</span>
1409
- <span class='kw'>begin</span>
1410
- <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:parsing</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:rendering</span>
1411
- <span class='op'>::</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_find_class'>find_class</span><span class='lparen'>(</span><span class='id identifier rubyid_cls'>cls</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>::Mbrao::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_classify'>classify</span><span class='embexpr_end'>}</span><span class='tstring_content'>Engines::%CLASS%</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1412
- <span class='kw'>rescue</span> <span class='const'>NameError</span>
1413
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>UnknownEngine</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1414
- <span class='kw'>end</span>
1415
- <span class='kw'>end</span></pre>
1416
- </td>
1417
- </tr>
1418
- </table>
1419
- </div>
1420
-
1421
- <div class="method_details ">
1422
- <h3 class="signature " id="instance-instance_method">
1423
-
1424
- - (<tt><span class='object_link'><a href="../Parser.html" title="Mbrao::Parser (class)">Parser</a></span></tt>) <strong>instance</strong>(force = false)
1425
-
1426
-
1427
-
1428
-
1429
-
1430
- </h3><div class="docstring">
1431
- <div class="discussion">
1432
- <p>Returns a unique (singleton) instance of the parser.</p>
1433
-
1434
-
1435
- </div>
1436
- </div>
1437
- <div class="tags">
1438
- <p class="tag_title">Parameters:</p>
1439
- <ul class="param">
1440
-
1441
- <li>
1442
-
1443
- <span class='name'>force</span>
1444
-
1445
-
1446
- <span class='type'>(<tt>Boolean</tt>)</span>
1447
-
1448
-
1449
- <em class="default">(defaults to: <tt>false</tt>)</em>
1450
-
1451
-
1452
- &mdash;
1453
- <div class='inline'><p>If to force recreation of the instance.</p>
1454
- </div>
1455
-
1456
- </li>
1457
-
1458
- </ul>
1459
-
1460
- <p class="tag_title">Returns:</p>
1461
- <ul class="return">
1462
-
1463
- <li>
1464
-
1465
-
1466
- <span class='type'>(<tt><span class='object_link'><a href="../Parser.html" title="Mbrao::Parser (class)">Parser</a></span></tt>)</span>
1467
-
1468
-
1469
-
1470
- &mdash;
1471
- <div class='inline'><p>The unique (singleton) instance of the parser.</p>
1472
- </div>
1473
-
1474
- </li>
1475
-
1476
- </ul>
1477
-
1478
- </div><table class="source_code">
1479
- <tr>
1480
- <td>
1481
- <pre class="lines">
1482
-
1483
-
1484
- 107
1485
- 108
1486
- 109
1487
- 110</pre>
1488
- </td>
1489
- <td>
1490
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 107</span>
1491
-
1492
- <span class='kw'>def</span> <span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
1493
- <span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
1494
- <span class='ivar'>@instance</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_new'>new</span>
1495
- <span class='kw'>end</span></pre>
1496
- </td>
1497
- </tr>
1498
- </table>
1499
- </div>
1500
-
1501
- <div class="method_details ">
1502
- <h3 class="signature " id="parse-instance_method">
1503
-
1504
- - (<tt><span class='object_link'><a href="../Content.html" title="Mbrao::Content (class)">Content</a></span></tt>) <strong>parse</strong>(content, options = {})
1505
-
1506
-
1507
-
1508
-
1509
-
1510
- </h3><div class="docstring">
1511
- <div class="discussion">
1512
- <p>Parses a source text.</p>
1513
-
1514
-
1515
- </div>
1516
- </div>
1517
- <div class="tags">
1518
- <p class="tag_title">Parameters:</p>
1519
- <ul class="param">
1520
-
1521
- <li>
1522
-
1523
- <span class='name'>content</span>
1524
-
1525
-
1526
- <span class='type'>(<tt>Object</tt>)</span>
1527
-
1528
-
1529
-
1530
- &mdash;
1531
- <div class='inline'><p>The content to parse.</p>
1532
- </div>
1533
-
1534
- </li>
1535
-
1536
- <li>
1537
-
1538
- <span class='name'>options</span>
1539
-
1540
-
1541
- <span class='type'>(<tt>Hash</tt>)</span>
1542
-
1543
-
1544
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1545
-
1546
-
1547
- &mdash;
1548
- <div class='inline'><p>A list of options for parsing.</p>
1549
- </div>
1550
-
1551
- </li>
1552
-
1553
- </ul>
1554
-
1555
- <p class="tag_title">Returns:</p>
1556
- <ul class="return">
1557
-
1558
- <li>
1559
-
1560
-
1561
- <span class='type'>(<tt><span class='object_link'><a href="../Content.html" title="Mbrao::Content (class)">Content</a></span></tt>)</span>
1562
-
1563
-
1564
-
1565
- &mdash;
1566
- <div class='inline'><p>The parsed data.</p>
1567
- </div>
1568
-
1569
- </li>
1570
-
1571
- </ul>
1572
-
1573
- </div><table class="source_code">
1574
- <tr>
1575
- <td>
1576
- <pre class="lines">
1577
-
1578
-
1579
- 52
1580
- 53
1581
- 54</pre>
1582
- </td>
1583
- <td>
1584
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 52</span>
1585
-
1586
- <span class='kw'>def</span> <span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1587
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1588
- <span class='kw'>end</span></pre>
1589
- </td>
1590
- </tr>
1591
- </table>
1592
- </div>
1593
-
1594
- <div class="method_details ">
1595
- <h3 class="signature " id="render-instance_method">
1596
-
1597
- - (<tt>String</tt>) <strong>render</strong>(content, options = {}, context = {})
1598
-
1599
-
1600
-
1601
-
1602
-
1603
- </h3><div class="docstring">
1604
- <div class="discussion">
1605
- <p>Renders a content.</p>
1606
-
1607
-
1608
- </div>
1609
- </div>
1610
- <div class="tags">
1611
- <p class="tag_title">Parameters:</p>
1612
- <ul class="param">
1613
-
1614
- <li>
1615
-
1616
- <span class='name'>content</span>
1617
-
1618
-
1619
- <span class='type'>(<tt><span class='object_link'><a href="../Content.html" title="Mbrao::Content (class)">Content</a></span></tt>)</span>
1620
-
1621
-
1622
-
1623
- &mdash;
1624
- <div class='inline'><p>The content to parse.</p>
1625
- </div>
1626
-
1627
- </li>
1628
-
1629
- <li>
1630
-
1631
- <span class='name'>options</span>
1632
-
1633
-
1634
- <span class='type'>(<tt>Hash</tt>)</span>
1635
-
1636
-
1637
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1638
-
1639
-
1640
- &mdash;
1641
- <div class='inline'><p>A list of options for renderer.</p>
1642
- </div>
1643
-
1644
- </li>
1645
-
1646
- <li>
1647
-
1648
- <span class='name'>context</span>
1649
-
1650
-
1651
- <span class='type'>(<tt>Hash</tt>)</span>
1652
-
1653
-
1654
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1655
-
1656
-
1657
- &mdash;
1658
- <div class='inline'><p>A context for rendering.</p>
1659
- </div>
1660
-
1661
- </li>
1662
-
1663
- </ul>
1664
-
1665
- <p class="tag_title">Returns:</p>
1666
- <ul class="return">
1667
-
1668
- <li>
1669
-
1670
-
1671
- <span class='type'>(<tt>String</tt>)</span>
1672
-
1673
-
1674
-
1675
- &mdash;
1676
- <div class='inline'><p>The rendered content.</p>
1677
- </div>
1678
-
1679
- </li>
1680
-
1681
- </ul>
1682
-
1683
- </div><table class="source_code">
1684
- <tr>
1685
- <td>
1686
- <pre class="lines">
1687
-
1688
-
1689
- 62
1690
- 63
1691
- 64</pre>
1692
- </td>
1693
- <td>
1694
- <pre class="code"><span class="info file"># File 'lib/mbrao/parser.rb', line 62</span>
1695
-
1696
- <span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1697
- <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
1698
- <span class='kw'>end</span></pre>
1699
- </td>
1700
- </tr>
1701
- </table>
1702
- </div>
1703
-
1704
- </div>
1705
-
1706
- </div>
1707
-
1708
- <div id="footer">
1709
- Generated on Wed Apr 9 21:36:00 2014 by
1710
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1711
- 0.8.7.4 (ruby-2.1.0).
1712
- </div>
1713
-
1714
- </body>
1715
- </html>