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.
Files changed (73) hide show
  1. data/.gitignore +6 -0
  2. data/.travis-gemfile +13 -0
  3. data/.travis.yml +8 -0
  4. data/.yardopts +1 -0
  5. data/Gemfile +21 -0
  6. data/README.md +60 -0
  7. data/Rakefile +11 -0
  8. data/doc/ActionView/Template/Handlers/MbraoTemplate.html +568 -0
  9. data/doc/ActionView/Template/Handlers.html +125 -0
  10. data/doc/HTML/Pipeline/KramdownFilter.html +354 -0
  11. data/doc/HTML/Pipeline.html +140 -0
  12. data/doc/HTML.html +125 -0
  13. data/doc/Mbrao/Author.html +1402 -0
  14. data/doc/Mbrao/Content.html +4779 -0
  15. data/doc/Mbrao/ContentPublicInterface.html +658 -0
  16. data/doc/Mbrao/Exceptions/InvalidDate.html +133 -0
  17. data/doc/Mbrao/Exceptions/InvalidMetadata.html +133 -0
  18. data/doc/Mbrao/Exceptions/Parsing.html +133 -0
  19. data/doc/Mbrao/Exceptions/Rendering.html +133 -0
  20. data/doc/Mbrao/Exceptions/UnavailableLocalization.html +133 -0
  21. data/doc/Mbrao/Exceptions/Unimplemented.html +133 -0
  22. data/doc/Mbrao/Exceptions/UnknownEngine.html +133 -0
  23. data/doc/Mbrao/Exceptions.html +125 -0
  24. data/doc/Mbrao/Parser.html +418 -0
  25. data/doc/Mbrao/ParsingEngines/Base.html +658 -0
  26. data/doc/Mbrao/ParsingEngines/PlainText.html +571 -0
  27. data/doc/Mbrao/ParsingEngines.html +127 -0
  28. data/doc/Mbrao/PublicInterface/ClassMethods.html +1727 -0
  29. data/doc/Mbrao/PublicInterface.html +134 -0
  30. data/doc/Mbrao/RenderingEngines/Base.html +280 -0
  31. data/doc/Mbrao/RenderingEngines/HtmlPipeline.html +873 -0
  32. data/doc/Mbrao/RenderingEngines.html +127 -0
  33. data/doc/Mbrao/Validations/ClassMethods.html +692 -0
  34. data/doc/Mbrao/Validations.html +134 -0
  35. data/doc/Mbrao/Version.html +189 -0
  36. data/doc/Mbrao.html +130 -0
  37. data/doc/_index.html +395 -0
  38. data/doc/class_list.html +53 -0
  39. data/doc/css/common.css +1 -0
  40. data/doc/css/full_list.css +57 -0
  41. data/doc/css/style.css +338 -0
  42. data/doc/file.README.html +135 -0
  43. data/doc/file_list.html +55 -0
  44. data/doc/frames.html +28 -0
  45. data/doc/index.html +135 -0
  46. data/doc/js/app.js +214 -0
  47. data/doc/js/full_list.js +173 -0
  48. data/doc/js/jquery.js +4 -0
  49. data/doc/method_list.html +516 -0
  50. data/doc/top-level-namespace.html +112 -0
  51. data/lib/mbrao/author.rb +61 -0
  52. data/lib/mbrao/content.rb +300 -0
  53. data/lib/mbrao/exceptions.rb +38 -0
  54. data/lib/mbrao/integrations/rails.rb +51 -0
  55. data/lib/mbrao/parser.rb +276 -0
  56. data/lib/mbrao/parsing_engines/base.rb +51 -0
  57. data/lib/mbrao/parsing_engines/plain_text.rb +187 -0
  58. data/lib/mbrao/rendering_engines/base.rb +22 -0
  59. data/lib/mbrao/rendering_engines/html_pipeline.rb +147 -0
  60. data/lib/mbrao/version.rb +25 -0
  61. data/lib/mbrao.rb +24 -0
  62. data/mbrao.gemspec +31 -0
  63. data/spec/coverage_helper.rb +17 -0
  64. data/spec/mbrao/author_spec.rb +62 -0
  65. data/spec/mbrao/content_spec.rb +280 -0
  66. data/spec/mbrao/integrations/rails_spec.rb +92 -0
  67. data/spec/mbrao/parser_spec.rb +269 -0
  68. data/spec/mbrao/parsing_engines/base_spec.rb +52 -0
  69. data/spec/mbrao/parsing_engines/plain_text_spec.rb +141 -0
  70. data/spec/mbrao/rendering_engines/base_spec.rb +17 -0
  71. data/spec/mbrao/rendering_engines/html_pipeline_spec.rb +128 -0
  72. data/spec/spec_helper.rb +15 -0
  73. metadata +195 -0
@@ -0,0 +1,1402 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Mbrao::Author
8
+
9
+ &mdash; 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 (A)</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">Author</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Mbrao::Author
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">Mbrao::Author</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/mbrao/author.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+ <p>Represents the author of a parsed content, with its metadata.</p>
105
+
106
+
107
+ </div>
108
+ </div>
109
+ <div class="tags">
110
+
111
+
112
+ </div>
113
+
114
+
115
+
116
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
117
+ <ul class="summary">
118
+
119
+ <li class="public ">
120
+ <span class="summary_signature">
121
+
122
+ <a href="#email-instance_method" title="#email (instance method)">- (String) <strong>email</strong> </a>
123
+
124
+
125
+
126
+ </span>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ <span class="summary_desc"><div class='inline'><p>The email of the author.</p>
140
+ </div></span>
141
+
142
+ </li>
143
+
144
+
145
+ <li class="public ">
146
+ <span class="summary_signature">
147
+
148
+ <a href="#image-instance_method" title="#image (instance method)">- (String) <strong>image</strong> </a>
149
+
150
+
151
+
152
+ </span>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ <span class="summary_desc"><div class='inline'><p>The URL of the avatar of the author.</p>
166
+ </div></span>
167
+
168
+ </li>
169
+
170
+
171
+ <li class="public ">
172
+ <span class="summary_signature">
173
+
174
+ <a href="#metadata-instance_method" title="#metadata (instance method)">- (HashWithIndifferentAccess) <strong>metadata</strong> </a>
175
+
176
+
177
+
178
+ </span>
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ <span class="summary_desc"><div class='inline'><p>The full list of metadata of this author.</p>
192
+ </div></span>
193
+
194
+ </li>
195
+
196
+
197
+ <li class="public ">
198
+ <span class="summary_signature">
199
+
200
+ <a href="#name-instance_method" title="#name (instance method)">- (String) <strong>name</strong> </a>
201
+
202
+
203
+
204
+ </span>
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+ <span class="summary_desc"><div class='inline'><p>The name of the author.</p>
218
+ </div></span>
219
+
220
+ </li>
221
+
222
+
223
+ <li class="public ">
224
+ <span class="summary_signature">
225
+
226
+ <a href="#uid-instance_method" title="#uid (instance method)">- (String) <strong>uid</strong> </a>
227
+
228
+
229
+
230
+ </span>
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+ <span class="summary_desc"><div class='inline'><p>A unique ID for this post.</p>
244
+ </div></span>
245
+
246
+ </li>
247
+
248
+
249
+ <li class="public ">
250
+ <span class="summary_signature">
251
+
252
+ <a href="#website-instance_method" title="#website (instance method)">- (String) <strong>website</strong> </a>
253
+
254
+
255
+
256
+ </span>
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ <span class="summary_desc"><div class='inline'><p>The website of the author.</p>
270
+ </div></span>
271
+
272
+ </li>
273
+
274
+
275
+ </ul>
276
+
277
+
278
+
279
+
280
+
281
+ <h2>
282
+ Class Method Summary
283
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
284
+ </h2>
285
+
286
+ <ul class="summary">
287
+
288
+ <li class="public ">
289
+ <span class="summary_signature">
290
+
291
+ <a href="#create-class_method" title="create (class method)">+ (Author) <strong>create</strong>(data) </a>
292
+
293
+
294
+
295
+ </span>
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+ <span class="summary_desc"><div class='inline'><p>Creates an author from a <code>Hash</code>.</p>
306
+ </div></span>
307
+
308
+ </li>
309
+
310
+
311
+ </ul>
312
+
313
+ <h2>
314
+ Instance Method Summary
315
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
316
+ </h2>
317
+
318
+ <ul class="summary">
319
+
320
+ <li class="public ">
321
+ <span class="summary_signature">
322
+
323
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Author) <strong>initialize</strong>(name, email = nil, website = nil, image = nil, metadata = nil, uid = nil) </a>
324
+
325
+
326
+
327
+ </span>
328
+
329
+
330
+ <span class="note title constructor">constructor</span>
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+ <span class="summary_desc"><div class='inline'><p>Creates a new author.</p>
340
+ </div></span>
341
+
342
+ </li>
343
+
344
+
345
+ </ul>
346
+
347
+
348
+ <div id="constructor_details" class="method_details_list">
349
+ <h2>Constructor Details</h2>
350
+
351
+ <div class="method_details first">
352
+ <h3 class="signature first" id="initialize-instance_method">
353
+
354
+ - (<tt><span class='object_link'><a href="" title="Mbrao::Author (class)">Author</a></span></tt>) <strong>initialize</strong>(name, email = nil, website = nil, image = nil, metadata = nil, uid = nil)
355
+
356
+
357
+
358
+
359
+
360
+ </h3><div class="docstring">
361
+ <div class="discussion">
362
+ <p>Creates a new author.</p>
363
+
364
+
365
+ </div>
366
+ </div>
367
+ <div class="tags">
368
+ <p class="tag_title">Parameters:</p>
369
+ <ul class="param">
370
+
371
+ <li>
372
+
373
+ <span class='name'>name</span>
374
+
375
+
376
+ <span class='type'>(<tt>String</tt>)</span>
377
+
378
+
379
+
380
+ &mdash;
381
+ <div class='inline'><p>The name of the author.</p>
382
+ </div>
383
+
384
+ </li>
385
+
386
+ <li>
387
+
388
+ <span class='name'>email</span>
389
+
390
+
391
+ <span class='type'>(<tt>String</tt>)</span>
392
+
393
+
394
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
395
+
396
+
397
+ &mdash;
398
+ <div class='inline'><p>The email of the author.</p>
399
+ </div>
400
+
401
+ </li>
402
+
403
+ <li>
404
+
405
+ <span class='name'>website</span>
406
+
407
+
408
+ <span class='type'>(<tt>String</tt>)</span>
409
+
410
+
411
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
412
+
413
+
414
+ &mdash;
415
+ <div class='inline'><p>The website of the author.</p>
416
+ </div>
417
+
418
+ </li>
419
+
420
+ <li>
421
+
422
+ <span class='name'>image</span>
423
+
424
+
425
+ <span class='type'>(<tt>String</tt>)</span>
426
+
427
+
428
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
429
+
430
+
431
+ &mdash;
432
+ <div class='inline'><p>The URL of the avatar of the author.</p>
433
+ </div>
434
+
435
+ </li>
436
+
437
+ <li>
438
+
439
+ <span class='name'>metadata</span>
440
+
441
+
442
+ <span class='type'>(<tt>HashWithIndifferentAccess</tt>)</span>
443
+
444
+
445
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
446
+
447
+
448
+ &mdash;
449
+ <div class='inline'><p>The full list of metadata of this author.</p>
450
+ </div>
451
+
452
+ </li>
453
+
454
+ <li>
455
+
456
+ <span class='name'>uid</span>
457
+
458
+
459
+ <span class='type'>(<tt>String</tt>)</span>
460
+
461
+
462
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
463
+
464
+
465
+ &mdash;
466
+ <div class='inline'><p>A unique ID for this post. This is only for client uses.</p>
467
+ </div>
468
+
469
+ </li>
470
+
471
+ </ul>
472
+
473
+
474
+ </div><table class="source_code">
475
+ <tr>
476
+ <td>
477
+ <pre class="lines">
478
+
479
+
480
+ 38
481
+ 39
482
+ 40
483
+ 41
484
+ 42
485
+ 43
486
+ 44
487
+ 45</pre>
488
+ </td>
489
+ <td>
490
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 38</span>
491
+
492
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
493
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
494
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
495
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
496
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
497
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
498
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
499
+ <span class='kw'>end</span></pre>
500
+ </td>
501
+ </tr>
502
+ </table>
503
+ </div>
504
+
505
+ </div>
506
+
507
+ <div id="instance_attr_details" class="attr_details">
508
+ <h2>Instance Attribute Details</h2>
509
+
510
+
511
+ <span id="email=-instance_method"></span>
512
+ <div class="method_details first">
513
+ <h3 class="signature first" id="email-instance_method">
514
+
515
+ - (<tt>String</tt>) <strong>email</strong>
516
+
517
+
518
+
519
+
520
+
521
+ </h3><div class="docstring">
522
+ <div class="discussion">
523
+ <p>The email of the author.</p>
524
+
525
+
526
+ </div>
527
+ </div>
528
+ <div class="tags">
529
+
530
+ <p class="tag_title">Returns:</p>
531
+ <ul class="return">
532
+
533
+ <li>
534
+
535
+
536
+ <span class='type'>(<tt>String</tt>)</span>
537
+
538
+
539
+
540
+ &mdash;
541
+ <div class='inline'><p>The email of the author.</p>
542
+ </div>
543
+
544
+ </li>
545
+
546
+ </ul>
547
+
548
+ </div><table class="source_code">
549
+ <tr>
550
+ <td>
551
+ <pre class="lines">
552
+
553
+
554
+ 22
555
+ 23
556
+ 24
557
+ 25
558
+ 26
559
+ 27
560
+ 28
561
+ 29
562
+ 30
563
+ 31
564
+ 32
565
+ 33
566
+ 34
567
+ 35
568
+ 36
569
+ 37
570
+ 38
571
+ 39
572
+ 40
573
+ 41
574
+ 42
575
+ 43
576
+ 44
577
+ 45
578
+ 46
579
+ 47
580
+ 48
581
+ 49
582
+ 50
583
+ 51
584
+ 52
585
+ 53
586
+ 54
587
+ 55
588
+ 56
589
+ 57
590
+ 58
591
+ 59
592
+ 60</pre>
593
+ </td>
594
+ <td>
595
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 22</span>
596
+
597
+ <span class='kw'>class</span> <span class='const'>Author</span>
598
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:uid</span>
599
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
600
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:email</span>
601
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:website</span>
602
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:image</span>
603
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:metadata</span>
604
+
605
+ <span class='comment'># Creates a new author.
606
+ </span> <span class='comment'>#
607
+ </span> <span class='comment'># @param name [String] The name of the author.
608
+ </span> <span class='comment'># @param email [String] The email of the author.
609
+ </span> <span class='comment'># @param website [String] The website of the author.
610
+ </span> <span class='comment'># @param image [String] The URL of the avatar of the author.
611
+ </span> <span class='comment'># @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
612
+ </span> <span class='comment'># @param uid [String] A unique ID for this post. This is only for client uses.
613
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
614
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
615
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
616
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
617
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
618
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
619
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
620
+ <span class='kw'>end</span>
621
+
622
+ <span class='comment'># Creates an author from a `Hash`.
623
+ </span> <span class='comment'>#
624
+ </span> <span class='comment'># @param data [Hash] The data of the author
625
+ </span> <span class='comment'># @return [Author] A new author.
626
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
627
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
628
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
629
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
630
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
631
+ <span class='kw'>else</span>
632
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
633
+ <span class='kw'>end</span>
634
+ <span class='kw'>end</span>
635
+ <span class='kw'>end</span></pre>
636
+ </td>
637
+ </tr>
638
+ </table>
639
+ </div>
640
+
641
+
642
+ <span id="image=-instance_method"></span>
643
+ <div class="method_details ">
644
+ <h3 class="signature " id="image-instance_method">
645
+
646
+ - (<tt>String</tt>) <strong>image</strong>
647
+
648
+
649
+
650
+
651
+
652
+ </h3><div class="docstring">
653
+ <div class="discussion">
654
+ <p>The URL of the avatar of the author.</p>
655
+
656
+
657
+ </div>
658
+ </div>
659
+ <div class="tags">
660
+
661
+ <p class="tag_title">Returns:</p>
662
+ <ul class="return">
663
+
664
+ <li>
665
+
666
+
667
+ <span class='type'>(<tt>String</tt>)</span>
668
+
669
+
670
+
671
+ &mdash;
672
+ <div class='inline'><p>The URL of the avatar of the author.</p>
673
+ </div>
674
+
675
+ </li>
676
+
677
+ </ul>
678
+
679
+ </div><table class="source_code">
680
+ <tr>
681
+ <td>
682
+ <pre class="lines">
683
+
684
+
685
+ 22
686
+ 23
687
+ 24
688
+ 25
689
+ 26
690
+ 27
691
+ 28
692
+ 29
693
+ 30
694
+ 31
695
+ 32
696
+ 33
697
+ 34
698
+ 35
699
+ 36
700
+ 37
701
+ 38
702
+ 39
703
+ 40
704
+ 41
705
+ 42
706
+ 43
707
+ 44
708
+ 45
709
+ 46
710
+ 47
711
+ 48
712
+ 49
713
+ 50
714
+ 51
715
+ 52
716
+ 53
717
+ 54
718
+ 55
719
+ 56
720
+ 57
721
+ 58
722
+ 59
723
+ 60</pre>
724
+ </td>
725
+ <td>
726
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 22</span>
727
+
728
+ <span class='kw'>class</span> <span class='const'>Author</span>
729
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:uid</span>
730
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
731
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:email</span>
732
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:website</span>
733
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:image</span>
734
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:metadata</span>
735
+
736
+ <span class='comment'># Creates a new author.
737
+ </span> <span class='comment'>#
738
+ </span> <span class='comment'># @param name [String] The name of the author.
739
+ </span> <span class='comment'># @param email [String] The email of the author.
740
+ </span> <span class='comment'># @param website [String] The website of the author.
741
+ </span> <span class='comment'># @param image [String] The URL of the avatar of the author.
742
+ </span> <span class='comment'># @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
743
+ </span> <span class='comment'># @param uid [String] A unique ID for this post. This is only for client uses.
744
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
745
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
746
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
747
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
748
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
749
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
750
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
751
+ <span class='kw'>end</span>
752
+
753
+ <span class='comment'># Creates an author from a `Hash`.
754
+ </span> <span class='comment'>#
755
+ </span> <span class='comment'># @param data [Hash] The data of the author
756
+ </span> <span class='comment'># @return [Author] A new author.
757
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
758
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
759
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
760
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
761
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
762
+ <span class='kw'>else</span>
763
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
764
+ <span class='kw'>end</span>
765
+ <span class='kw'>end</span>
766
+ <span class='kw'>end</span></pre>
767
+ </td>
768
+ </tr>
769
+ </table>
770
+ </div>
771
+
772
+
773
+ <span id="metadata=-instance_method"></span>
774
+ <div class="method_details ">
775
+ <h3 class="signature " id="metadata-instance_method">
776
+
777
+ - (<tt>HashWithIndifferentAccess</tt>) <strong>metadata</strong>
778
+
779
+
780
+
781
+
782
+
783
+ </h3><div class="docstring">
784
+ <div class="discussion">
785
+ <p>The full list of metadata of this author.</p>
786
+
787
+
788
+ </div>
789
+ </div>
790
+ <div class="tags">
791
+
792
+ <p class="tag_title">Returns:</p>
793
+ <ul class="return">
794
+
795
+ <li>
796
+
797
+
798
+ <span class='type'>(<tt>HashWithIndifferentAccess</tt>)</span>
799
+
800
+
801
+
802
+ &mdash;
803
+ <div class='inline'><p>The full list of metadata of this author.</p>
804
+ </div>
805
+
806
+ </li>
807
+
808
+ </ul>
809
+
810
+ </div><table class="source_code">
811
+ <tr>
812
+ <td>
813
+ <pre class="lines">
814
+
815
+
816
+ 22
817
+ 23
818
+ 24
819
+ 25
820
+ 26
821
+ 27
822
+ 28
823
+ 29
824
+ 30
825
+ 31
826
+ 32
827
+ 33
828
+ 34
829
+ 35
830
+ 36
831
+ 37
832
+ 38
833
+ 39
834
+ 40
835
+ 41
836
+ 42
837
+ 43
838
+ 44
839
+ 45
840
+ 46
841
+ 47
842
+ 48
843
+ 49
844
+ 50
845
+ 51
846
+ 52
847
+ 53
848
+ 54
849
+ 55
850
+ 56
851
+ 57
852
+ 58
853
+ 59
854
+ 60</pre>
855
+ </td>
856
+ <td>
857
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 22</span>
858
+
859
+ <span class='kw'>class</span> <span class='const'>Author</span>
860
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:uid</span>
861
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
862
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:email</span>
863
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:website</span>
864
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:image</span>
865
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:metadata</span>
866
+
867
+ <span class='comment'># Creates a new author.
868
+ </span> <span class='comment'>#
869
+ </span> <span class='comment'># @param name [String] The name of the author.
870
+ </span> <span class='comment'># @param email [String] The email of the author.
871
+ </span> <span class='comment'># @param website [String] The website of the author.
872
+ </span> <span class='comment'># @param image [String] The URL of the avatar of the author.
873
+ </span> <span class='comment'># @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
874
+ </span> <span class='comment'># @param uid [String] A unique ID for this post. This is only for client uses.
875
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
876
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
877
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
878
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
879
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
880
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
881
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
882
+ <span class='kw'>end</span>
883
+
884
+ <span class='comment'># Creates an author from a `Hash`.
885
+ </span> <span class='comment'>#
886
+ </span> <span class='comment'># @param data [Hash] The data of the author
887
+ </span> <span class='comment'># @return [Author] A new author.
888
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
889
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
890
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
891
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
892
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
893
+ <span class='kw'>else</span>
894
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
895
+ <span class='kw'>end</span>
896
+ <span class='kw'>end</span>
897
+ <span class='kw'>end</span></pre>
898
+ </td>
899
+ </tr>
900
+ </table>
901
+ </div>
902
+
903
+
904
+ <span id="name=-instance_method"></span>
905
+ <div class="method_details ">
906
+ <h3 class="signature " id="name-instance_method">
907
+
908
+ - (<tt>String</tt>) <strong>name</strong>
909
+
910
+
911
+
912
+
913
+
914
+ </h3><div class="docstring">
915
+ <div class="discussion">
916
+ <p>The name of the author.</p>
917
+
918
+
919
+ </div>
920
+ </div>
921
+ <div class="tags">
922
+
923
+ <p class="tag_title">Returns:</p>
924
+ <ul class="return">
925
+
926
+ <li>
927
+
928
+
929
+ <span class='type'>(<tt>String</tt>)</span>
930
+
931
+
932
+
933
+ &mdash;
934
+ <div class='inline'><p>The name of the author.</p>
935
+ </div>
936
+
937
+ </li>
938
+
939
+ </ul>
940
+
941
+ </div><table class="source_code">
942
+ <tr>
943
+ <td>
944
+ <pre class="lines">
945
+
946
+
947
+ 22
948
+ 23
949
+ 24
950
+ 25
951
+ 26
952
+ 27
953
+ 28
954
+ 29
955
+ 30
956
+ 31
957
+ 32
958
+ 33
959
+ 34
960
+ 35
961
+ 36
962
+ 37
963
+ 38
964
+ 39
965
+ 40
966
+ 41
967
+ 42
968
+ 43
969
+ 44
970
+ 45
971
+ 46
972
+ 47
973
+ 48
974
+ 49
975
+ 50
976
+ 51
977
+ 52
978
+ 53
979
+ 54
980
+ 55
981
+ 56
982
+ 57
983
+ 58
984
+ 59
985
+ 60</pre>
986
+ </td>
987
+ <td>
988
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 22</span>
989
+
990
+ <span class='kw'>class</span> <span class='const'>Author</span>
991
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:uid</span>
992
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
993
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:email</span>
994
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:website</span>
995
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:image</span>
996
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:metadata</span>
997
+
998
+ <span class='comment'># Creates a new author.
999
+ </span> <span class='comment'>#
1000
+ </span> <span class='comment'># @param name [String] The name of the author.
1001
+ </span> <span class='comment'># @param email [String] The email of the author.
1002
+ </span> <span class='comment'># @param website [String] The website of the author.
1003
+ </span> <span class='comment'># @param image [String] The URL of the avatar of the author.
1004
+ </span> <span class='comment'># @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
1005
+ </span> <span class='comment'># @param uid [String] A unique ID for this post. This is only for client uses.
1006
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1007
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
1008
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
1009
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
1010
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
1011
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
1012
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
1013
+ <span class='kw'>end</span>
1014
+
1015
+ <span class='comment'># Creates an author from a `Hash`.
1016
+ </span> <span class='comment'>#
1017
+ </span> <span class='comment'># @param data [Hash] The data of the author
1018
+ </span> <span class='comment'># @return [Author] A new author.
1019
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1020
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
1021
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1022
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
1023
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
1024
+ <span class='kw'>else</span>
1025
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1026
+ <span class='kw'>end</span>
1027
+ <span class='kw'>end</span>
1028
+ <span class='kw'>end</span></pre>
1029
+ </td>
1030
+ </tr>
1031
+ </table>
1032
+ </div>
1033
+
1034
+
1035
+ <span id="uid=-instance_method"></span>
1036
+ <div class="method_details ">
1037
+ <h3 class="signature " id="uid-instance_method">
1038
+
1039
+ - (<tt>String</tt>) <strong>uid</strong>
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+ </h3><div class="docstring">
1046
+ <div class="discussion">
1047
+ <p>A unique ID for this post. This is only for client uses.</p>
1048
+
1049
+
1050
+ </div>
1051
+ </div>
1052
+ <div class="tags">
1053
+
1054
+ <p class="tag_title">Returns:</p>
1055
+ <ul class="return">
1056
+
1057
+ <li>
1058
+
1059
+
1060
+ <span class='type'>(<tt>String</tt>)</span>
1061
+
1062
+
1063
+
1064
+ &mdash;
1065
+ <div class='inline'><p>A unique ID for this post. This is only for client uses.</p>
1066
+ </div>
1067
+
1068
+ </li>
1069
+
1070
+ </ul>
1071
+
1072
+ </div><table class="source_code">
1073
+ <tr>
1074
+ <td>
1075
+ <pre class="lines">
1076
+
1077
+
1078
+ 22
1079
+ 23
1080
+ 24
1081
+ 25
1082
+ 26
1083
+ 27
1084
+ 28
1085
+ 29
1086
+ 30
1087
+ 31
1088
+ 32
1089
+ 33
1090
+ 34
1091
+ 35
1092
+ 36
1093
+ 37
1094
+ 38
1095
+ 39
1096
+ 40
1097
+ 41
1098
+ 42
1099
+ 43
1100
+ 44
1101
+ 45
1102
+ 46
1103
+ 47
1104
+ 48
1105
+ 49
1106
+ 50
1107
+ 51
1108
+ 52
1109
+ 53
1110
+ 54
1111
+ 55
1112
+ 56
1113
+ 57
1114
+ 58
1115
+ 59
1116
+ 60</pre>
1117
+ </td>
1118
+ <td>
1119
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 22</span>
1120
+
1121
+ <span class='kw'>class</span> <span class='const'>Author</span>
1122
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:uid</span>
1123
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
1124
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:email</span>
1125
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:website</span>
1126
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:image</span>
1127
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:metadata</span>
1128
+
1129
+ <span class='comment'># Creates a new author.
1130
+ </span> <span class='comment'>#
1131
+ </span> <span class='comment'># @param name [String] The name of the author.
1132
+ </span> <span class='comment'># @param email [String] The email of the author.
1133
+ </span> <span class='comment'># @param website [String] The website of the author.
1134
+ </span> <span class='comment'># @param image [String] The URL of the avatar of the author.
1135
+ </span> <span class='comment'># @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
1136
+ </span> <span class='comment'># @param uid [String] A unique ID for this post. This is only for client uses.
1137
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1138
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
1139
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
1140
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
1141
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
1142
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
1143
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
1144
+ <span class='kw'>end</span>
1145
+
1146
+ <span class='comment'># Creates an author from a `Hash`.
1147
+ </span> <span class='comment'>#
1148
+ </span> <span class='comment'># @param data [Hash] The data of the author
1149
+ </span> <span class='comment'># @return [Author] A new author.
1150
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1151
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
1152
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1153
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
1154
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
1155
+ <span class='kw'>else</span>
1156
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1157
+ <span class='kw'>end</span>
1158
+ <span class='kw'>end</span>
1159
+ <span class='kw'>end</span></pre>
1160
+ </td>
1161
+ </tr>
1162
+ </table>
1163
+ </div>
1164
+
1165
+
1166
+ <span id="website=-instance_method"></span>
1167
+ <div class="method_details ">
1168
+ <h3 class="signature " id="website-instance_method">
1169
+
1170
+ - (<tt>String</tt>) <strong>website</strong>
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+ </h3><div class="docstring">
1177
+ <div class="discussion">
1178
+ <p>The website of the author.</p>
1179
+
1180
+
1181
+ </div>
1182
+ </div>
1183
+ <div class="tags">
1184
+
1185
+ <p class="tag_title">Returns:</p>
1186
+ <ul class="return">
1187
+
1188
+ <li>
1189
+
1190
+
1191
+ <span class='type'>(<tt>String</tt>)</span>
1192
+
1193
+
1194
+
1195
+ &mdash;
1196
+ <div class='inline'><p>The website of the author.</p>
1197
+ </div>
1198
+
1199
+ </li>
1200
+
1201
+ </ul>
1202
+
1203
+ </div><table class="source_code">
1204
+ <tr>
1205
+ <td>
1206
+ <pre class="lines">
1207
+
1208
+
1209
+ 22
1210
+ 23
1211
+ 24
1212
+ 25
1213
+ 26
1214
+ 27
1215
+ 28
1216
+ 29
1217
+ 30
1218
+ 31
1219
+ 32
1220
+ 33
1221
+ 34
1222
+ 35
1223
+ 36
1224
+ 37
1225
+ 38
1226
+ 39
1227
+ 40
1228
+ 41
1229
+ 42
1230
+ 43
1231
+ 44
1232
+ 45
1233
+ 46
1234
+ 47
1235
+ 48
1236
+ 49
1237
+ 50
1238
+ 51
1239
+ 52
1240
+ 53
1241
+ 54
1242
+ 55
1243
+ 56
1244
+ 57
1245
+ 58
1246
+ 59
1247
+ 60</pre>
1248
+ </td>
1249
+ <td>
1250
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 22</span>
1251
+
1252
+ <span class='kw'>class</span> <span class='const'>Author</span>
1253
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:uid</span>
1254
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
1255
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:email</span>
1256
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:website</span>
1257
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:image</span>
1258
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:metadata</span>
1259
+
1260
+ <span class='comment'># Creates a new author.
1261
+ </span> <span class='comment'>#
1262
+ </span> <span class='comment'># @param name [String] The name of the author.
1263
+ </span> <span class='comment'># @param email [String] The email of the author.
1264
+ </span> <span class='comment'># @param website [String] The website of the author.
1265
+ </span> <span class='comment'># @param image [String] The URL of the avatar of the author.
1266
+ </span> <span class='comment'># @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
1267
+ </span> <span class='comment'># @param uid [String] A unique ID for this post. This is only for client uses.
1268
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1269
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
1270
+ <span class='ivar'>@email</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_is_email?'>is_email?</span><span class='lparen'>(</span><span class='id identifier rubyid_email'>email</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_email'>email</span> <span class='op'>:</span> <span class='kw'>nil</span>
1271
+ <span class='ivar'>@website</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_website'>website</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_website'>website</span> <span class='op'>:</span> <span class='kw'>nil</span>
1272
+ <span class='ivar'>@image</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_is_url?'>is_url?</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_image'>image</span> <span class='op'>:</span> <span class='kw'>nil</span>
1273
+ <span class='ivar'>@metadata</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_metadata'>metadata</span><span class='rparen'>)</span>
1274
+ <span class='ivar'>@uid</span> <span class='op'>=</span> <span class='id identifier rubyid_uid'>uid</span>
1275
+ <span class='kw'>end</span>
1276
+
1277
+ <span class='comment'># Creates an author from a `Hash`.
1278
+ </span> <span class='comment'>#
1279
+ </span> <span class='comment'># @param data [Hash] The data of the author
1280
+ </span> <span class='comment'># @return [Author] A new author.
1281
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1282
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
1283
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1284
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
1285
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
1286
+ <span class='kw'>else</span>
1287
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1288
+ <span class='kw'>end</span>
1289
+ <span class='kw'>end</span>
1290
+ <span class='kw'>end</span></pre>
1291
+ </td>
1292
+ </tr>
1293
+ </table>
1294
+ </div>
1295
+
1296
+ </div>
1297
+
1298
+
1299
+ <div id="class_method_details" class="method_details_list">
1300
+ <h2>Class Method Details</h2>
1301
+
1302
+
1303
+ <div class="method_details first">
1304
+ <h3 class="signature first" id="create-class_method">
1305
+
1306
+ + (<tt><span class='object_link'><a href="" title="Mbrao::Author (class)">Author</a></span></tt>) <strong>create</strong>(data)
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+ </h3><div class="docstring">
1313
+ <div class="discussion">
1314
+ <p>Creates an author from a <code>Hash</code>.</p>
1315
+
1316
+
1317
+ </div>
1318
+ </div>
1319
+ <div class="tags">
1320
+ <p class="tag_title">Parameters:</p>
1321
+ <ul class="param">
1322
+
1323
+ <li>
1324
+
1325
+ <span class='name'>data</span>
1326
+
1327
+
1328
+ <span class='type'>(<tt>Hash</tt>)</span>
1329
+
1330
+
1331
+
1332
+ &mdash;
1333
+ <div class='inline'><p>The data of the author</p>
1334
+ </div>
1335
+
1336
+ </li>
1337
+
1338
+ </ul>
1339
+
1340
+ <p class="tag_title">Returns:</p>
1341
+ <ul class="return">
1342
+
1343
+ <li>
1344
+
1345
+
1346
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Mbrao::Author (class)">Author</a></span></tt>)</span>
1347
+
1348
+
1349
+
1350
+ &mdash;
1351
+ <div class='inline'><p>A new author.</p>
1352
+ </div>
1353
+
1354
+ </li>
1355
+
1356
+ </ul>
1357
+
1358
+ </div><table class="source_code">
1359
+ <tr>
1360
+ <td>
1361
+ <pre class="lines">
1362
+
1363
+
1364
+ 51
1365
+ 52
1366
+ 53
1367
+ 54
1368
+ 55
1369
+ 56
1370
+ 57
1371
+ 58
1372
+ 59</pre>
1373
+ </td>
1374
+ <td>
1375
+ <pre class="code"><span class="info file"># File 'lib/mbrao/author.rb', line 51</span>
1376
+
1377
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1378
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</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='kw'>then</span>
1379
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>HashWithIndifferentAccess</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1380
+ <span class='id identifier rubyid_uid'>uid</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:uid</span><span class='rparen'>)</span>
1381
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:email</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:website</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:image</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_uid'>uid</span><span class='rparen'>)</span>
1382
+ <span class='kw'>else</span>
1383
+ <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
1384
+ <span class='kw'>end</span>
1385
+ <span class='kw'>end</span></pre>
1386
+ </td>
1387
+ </tr>
1388
+ </table>
1389
+ </div>
1390
+
1391
+ </div>
1392
+
1393
+ </div>
1394
+
1395
+ <div id="footer">
1396
+ Generated on Fri Mar 1 09:13:31 2013 by
1397
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1398
+ 0.8.5.2 (ruby-1.9.3).
1399
+ </div>
1400
+
1401
+ </body>
1402
+ </html>