mbrao 1.2.3 → 1.3.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +5 -0
  4. data/doc/ActionView/Template/Handlers/MbraoTemplate.html +87 -20
  5. data/doc/ActionView/Template/Handlers.html +1 -1
  6. data/doc/HTML/Pipeline/KramdownFilter.html +1 -1
  7. data/doc/HTML/Pipeline.html +1 -1
  8. data/doc/HTML.html +1 -1
  9. data/doc/Mbrao/Author.html +337 -67
  10. data/doc/Mbrao/Content.html +1268 -444
  11. data/doc/Mbrao/ContentPublicInterface.html +24 -20
  12. data/doc/Mbrao/Exceptions/InvalidDate.html +1 -1
  13. data/doc/Mbrao/Exceptions/InvalidMetadata.html +1 -1
  14. data/doc/Mbrao/Exceptions/Parsing.html +1 -1
  15. data/doc/Mbrao/Exceptions/Rendering.html +1 -1
  16. data/doc/Mbrao/Exceptions/UnavailableLocalization.html +1 -1
  17. data/doc/Mbrao/Exceptions/Unimplemented.html +1 -1
  18. data/doc/Mbrao/Exceptions/UnknownEngine.html +1 -1
  19. data/doc/Mbrao/Exceptions.html +1 -1
  20. data/doc/Mbrao/Parser.html +11 -11
  21. data/doc/Mbrao/ParsingEngines/Base.html +25 -24
  22. data/doc/Mbrao/ParsingEngines/PlainText.html +17 -16
  23. data/doc/Mbrao/ParsingEngines.html +1 -1
  24. data/doc/Mbrao/PublicInterface/ClassMethods.html +312 -19
  25. data/doc/Mbrao/PublicInterface.html +1 -1
  26. data/doc/Mbrao/RenderingEngines/Base.html +7 -7
  27. data/doc/Mbrao/RenderingEngines/HtmlPipeline.html +27 -15
  28. data/doc/Mbrao/RenderingEngines.html +1 -1
  29. data/doc/Mbrao/Validations/ClassMethods.html +21 -21
  30. data/doc/Mbrao/Validations.html +1 -1
  31. data/doc/Mbrao/Version.html +3 -3
  32. data/doc/Mbrao.html +1 -1
  33. data/doc/_index.html +1 -1
  34. data/doc/file.README.html +1 -1
  35. data/doc/index.html +1 -1
  36. data/doc/method_list.html +86 -62
  37. data/doc/top-level-namespace.html +1 -1
  38. data/lib/mbrao/author.rb +18 -4
  39. data/lib/mbrao/content.rb +93 -44
  40. data/lib/mbrao/integrations/rails.rb +12 -5
  41. data/lib/mbrao/parser.rb +23 -0
  42. data/lib/mbrao/parsing_engines/base.rb +12 -11
  43. data/lib/mbrao/parsing_engines/plain_text.rb +29 -23
  44. data/lib/mbrao/rendering_engines/base.rb +4 -4
  45. data/lib/mbrao/rendering_engines/html_pipeline.rb +7 -2
  46. data/lib/mbrao/version.rb +2 -2
  47. data/spec/mbrao/author_spec.rb +32 -16
  48. data/spec/mbrao/content_spec.rb +144 -85
  49. data/spec/mbrao/integrations/rails_spec.rb +14 -0
  50. data/spec/mbrao/parser_spec.rb +19 -19
  51. data/spec/mbrao/parsing_engines/base_spec.rb +12 -12
  52. data/spec/mbrao/parsing_engines/plain_text_spec.rb +21 -21
  53. data/spec/mbrao/rendering_engines/base_spec.rb +2 -2
  54. data/spec/mbrao/rendering_engines/html_pipeline_spec.rb +31 -31
  55. metadata +2 -2
data/doc/method_list.html CHANGED
@@ -48,32 +48,44 @@
48
48
 
49
49
 
50
50
  <li class="r1 ">
51
- <span class='object_link'><a href="Mbrao/Content.html#author-instance_method" title="Mbrao::Content#author (method)">#author</a></span>
51
+ <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#as_json-instance_method" title="Mbrao::PublicInterface::ClassMethods#as_json (method)">#as_json</a></span>
52
+ <small>Mbrao::PublicInterface::ClassMethods</small>
53
+ </li>
54
+
55
+
56
+ <li class="r2 ">
57
+ <span class='object_link'><a href="Mbrao/Author.html#as_json-instance_method" title="Mbrao::Author#as_json (method)">#as_json</a></span>
58
+ <small>Mbrao::Author</small>
59
+ </li>
60
+
61
+
62
+ <li class="r1 ">
63
+ <span class='object_link'><a href="Mbrao/Content.html#as_json-instance_method" title="Mbrao::Content#as_json (method)">#as_json</a></span>
52
64
  <small>Mbrao::Content</small>
53
65
  </li>
54
66
 
55
67
 
56
68
  <li class="r2 ">
57
- <span class='object_link'><a href="Mbrao/Content.html#body-instance_method" title="Mbrao::Content#body (method)">#body</a></span>
69
+ <span class='object_link'><a href="Mbrao/Content.html#author-instance_method" title="Mbrao::Content#author (method)">#author</a></span>
58
70
  <small>Mbrao::Content</small>
59
71
  </li>
60
72
 
61
73
 
62
74
  <li class="r1 ">
63
- <span class='object_link'><a href="ActionView/Template/Handlers/MbraoTemplate.html#call-instance_method" title="ActionView::Template::Handlers::MbraoTemplate#call (method)">#call</a></span>
64
- <small>ActionView::Template::Handlers::MbraoTemplate</small>
75
+ <span class='object_link'><a href="Mbrao/Content.html#body-instance_method" title="Mbrao::Content#body (method)">#body</a></span>
76
+ <small>Mbrao::Content</small>
65
77
  </li>
66
78
 
67
79
 
68
80
  <li class="r2 ">
69
- <span class='object_link'><a href="HTML/Pipeline/KramdownFilter.html#call-instance_method" title="HTML::Pipeline::KramdownFilter#call (method)">#call</a></span>
70
- <small>HTML::Pipeline::KramdownFilter</small>
81
+ <span class='object_link'><a href="ActionView/Template/Handlers/MbraoTemplate.html#call-instance_method" title="ActionView::Template::Handlers::MbraoTemplate#call (method)">#call</a></span>
82
+ <small>ActionView::Template::Handlers::MbraoTemplate</small>
71
83
  </li>
72
84
 
73
85
 
74
86
  <li class="r1 ">
75
- <span class='object_link'><a href="Mbrao/Content.html#create-class_method" title="Mbrao::Content.create (method)">create</a></span>
76
- <small>Mbrao::Content</small>
87
+ <span class='object_link'><a href="HTML/Pipeline/KramdownFilter.html#call-instance_method" title="HTML::Pipeline::KramdownFilter#call (method)">#call</a></span>
88
+ <small>HTML::Pipeline::KramdownFilter</small>
77
89
  </li>
78
90
 
79
91
 
@@ -84,53 +96,53 @@
84
96
 
85
97
 
86
98
  <li class="r1 ">
99
+ <span class='object_link'><a href="Mbrao/Content.html#create-class_method" title="Mbrao::Content.create (method)">create</a></span>
100
+ <small>Mbrao::Content</small>
101
+ </li>
102
+
103
+
104
+ <li class="r2 ">
87
105
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#create_engine-instance_method" title="Mbrao::PublicInterface::ClassMethods#create_engine (method)">#create_engine</a></span>
88
106
  <small>Mbrao::PublicInterface::ClassMethods</small>
89
107
  </li>
90
108
 
91
109
 
92
- <li class="r2 ">
110
+ <li class="r1 ">
93
111
  <span class='object_link'><a href="Mbrao/Content.html#created_at-instance_method" title="Mbrao::Content#created_at (method)">#created_at</a></span>
94
112
  <small>Mbrao::Content</small>
95
113
  </li>
96
114
 
97
115
 
98
- <li class="r1 ">
116
+ <li class="r2 ">
99
117
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#default_locale-instance_method" title="Mbrao::PublicInterface::ClassMethods#default_locale (method)">#default_locale</a></span>
100
118
  <small>Mbrao::PublicInterface::ClassMethods</small>
101
119
  </li>
102
120
 
103
121
 
104
- <li class="r2 ">
122
+ <li class="r1 ">
105
123
  <span class='object_link'><a href="Mbrao/RenderingEngines/HtmlPipeline.html#default_options-instance_method" title="Mbrao::RenderingEngines::HtmlPipeline#default_options (method)">#default_options</a></span>
106
124
  <small>Mbrao::RenderingEngines::HtmlPipeline</small>
107
125
  </li>
108
126
 
109
127
 
110
- <li class="r1 ">
128
+ <li class="r2 ">
111
129
  <span class='object_link'><a href="Mbrao/RenderingEngines/HtmlPipeline.html#default_pipeline-instance_method" title="Mbrao::RenderingEngines::HtmlPipeline#default_pipeline (method)">#default_pipeline</a></span>
112
130
  <small>Mbrao::RenderingEngines::HtmlPipeline</small>
113
131
  </li>
114
132
 
115
133
 
116
- <li class="r2 ">
134
+ <li class="r1 ">
117
135
  <span class='object_link'><a href="Mbrao/Author.html#email-instance_method" title="Mbrao::Author#email (method)">#email</a></span>
118
136
  <small>Mbrao::Author</small>
119
137
  </li>
120
138
 
121
139
 
122
- <li class="r1 ">
140
+ <li class="r2 ">
123
141
  <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#enabled_for_locales%3F-instance_method" title="Mbrao::ContentPublicInterface#enabled_for_locales? (method)">#enabled_for_locales?</a></span>
124
142
  <small>Mbrao::ContentPublicInterface</small>
125
143
  </li>
126
144
 
127
145
 
128
- <li class="r2 ">
129
- <span class='object_link'><a href="Mbrao/ParsingEngines/PlainText.html#filter_content-instance_method" title="Mbrao::ParsingEngines::PlainText#filter_content (method)">#filter_content</a></span>
130
- <small>Mbrao::ParsingEngines::PlainText</small>
131
- </li>
132
-
133
-
134
146
  <li class="r1 ">
135
147
  <span class='object_link'><a href="Mbrao/ParsingEngines/Base.html#filter_content-instance_method" title="Mbrao::ParsingEngines::Base#filter_content (method)">#filter_content</a></span>
136
148
  <small>Mbrao::ParsingEngines::Base</small>
@@ -138,44 +150,44 @@
138
150
 
139
151
 
140
152
  <li class="r2 ">
141
- <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_body-instance_method" title="Mbrao::ContentPublicInterface#get_body (method)">#get_body</a></span>
142
- <small>Mbrao::ContentPublicInterface</small>
153
+ <span class='object_link'><a href="Mbrao/ParsingEngines/PlainText.html#filter_content-instance_method" title="Mbrao::ParsingEngines::PlainText#filter_content (method)">#filter_content</a></span>
154
+ <small>Mbrao::ParsingEngines::PlainText</small>
143
155
  </li>
144
156
 
145
157
 
146
158
  <li class="r1 ">
147
- <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_more-instance_method" title="Mbrao::ContentPublicInterface#get_more (method)">#get_more</a></span>
159
+ <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_body-instance_method" title="Mbrao::ContentPublicInterface#get_body (method)">#get_body</a></span>
148
160
  <small>Mbrao::ContentPublicInterface</small>
149
161
  </li>
150
162
 
151
163
 
152
164
  <li class="r2 ">
153
- <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_tags-instance_method" title="Mbrao::ContentPublicInterface#get_tags (method)">#get_tags</a></span>
165
+ <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_more-instance_method" title="Mbrao::ContentPublicInterface#get_more (method)">#get_more</a></span>
154
166
  <small>Mbrao::ContentPublicInterface</small>
155
167
  </li>
156
168
 
157
169
 
158
170
  <li class="r1 ">
159
- <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_title-instance_method" title="Mbrao::ContentPublicInterface#get_title (method)">#get_title</a></span>
171
+ <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_tags-instance_method" title="Mbrao::ContentPublicInterface#get_tags (method)">#get_tags</a></span>
160
172
  <small>Mbrao::ContentPublicInterface</small>
161
173
  </li>
162
174
 
163
175
 
164
176
  <li class="r2 ">
165
- <span class='object_link'><a href="Mbrao/Author.html#image-instance_method" title="Mbrao::Author#image (method)">#image</a></span>
166
- <small>Mbrao::Author</small>
177
+ <span class='object_link'><a href="Mbrao/ContentPublicInterface.html#get_title-instance_method" title="Mbrao::ContentPublicInterface#get_title (method)">#get_title</a></span>
178
+ <small>Mbrao::ContentPublicInterface</small>
167
179
  </li>
168
180
 
169
181
 
170
182
  <li class="r1 ">
171
- <span class='object_link'><a href="HTML/Pipeline/KramdownFilter.html#initialize-instance_method" title="HTML::Pipeline::KramdownFilter#initialize (method)">#initialize</a></span>
172
- <small>HTML::Pipeline::KramdownFilter</small>
183
+ <span class='object_link'><a href="Mbrao/Author.html#image-instance_method" title="Mbrao::Author#image (method)">#image</a></span>
184
+ <small>Mbrao::Author</small>
173
185
  </li>
174
186
 
175
187
 
176
188
  <li class="r2 ">
177
- <span class='object_link'><a href="Mbrao/Author.html#initialize-instance_method" title="Mbrao::Author#initialize (method)">#initialize</a></span>
178
- <small>Mbrao::Author</small>
189
+ <span class='object_link'><a href="HTML/Pipeline/KramdownFilter.html#initialize-instance_method" title="HTML::Pipeline::KramdownFilter#initialize (method)">#initialize</a></span>
190
+ <small>HTML::Pipeline::KramdownFilter</small>
179
191
  </li>
180
192
 
181
193
 
@@ -186,47 +198,47 @@
186
198
 
187
199
 
188
200
  <li class="r2 ">
201
+ <span class='object_link'><a href="Mbrao/Author.html#initialize-instance_method" title="Mbrao::Author#initialize (method)">#initialize</a></span>
202
+ <small>Mbrao::Author</small>
203
+ </li>
204
+
205
+
206
+ <li class="r1 ">
189
207
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#instance-instance_method" title="Mbrao::PublicInterface::ClassMethods#instance (method)">#instance</a></span>
190
208
  <small>Mbrao::PublicInterface::ClassMethods</small>
191
209
  </li>
192
210
 
193
211
 
194
- <li class="r1 ">
212
+ <li class="r2 ">
195
213
  <span class='object_link'><a href="ActionView/Template/Handlers/MbraoTemplate.html#instance-class_method" title="ActionView::Template::Handlers::MbraoTemplate.instance (method)">instance</a></span>
196
214
  <small>ActionView::Template::Handlers::MbraoTemplate</small>
197
215
  </li>
198
216
 
199
217
 
200
- <li class="r2 ">
218
+ <li class="r1 ">
201
219
  <span class='object_link'><a href="Mbrao/Validations/ClassMethods.html#is_email%3F-instance_method" title="Mbrao::Validations::ClassMethods#is_email? (method)">#is_email?</a></span>
202
220
  <small>Mbrao::Validations::ClassMethods</small>
203
221
  </li>
204
222
 
205
223
 
206
- <li class="r1 ">
224
+ <li class="r2 ">
207
225
  <span class='object_link'><a href="Mbrao/Validations/ClassMethods.html#is_url%3F-instance_method" title="Mbrao::Validations::ClassMethods#is_url? (method)">#is_url?</a></span>
208
226
  <small>Mbrao::Validations::ClassMethods</small>
209
227
  </li>
210
228
 
211
229
 
212
- <li class="r2 ">
230
+ <li class="r1 ">
213
231
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#locale-instance_method" title="Mbrao::PublicInterface::ClassMethods#locale (method)">#locale</a></span>
214
232
  <small>Mbrao::PublicInterface::ClassMethods</small>
215
233
  </li>
216
234
 
217
235
 
218
- <li class="r1 ">
236
+ <li class="r2 ">
219
237
  <span class='object_link'><a href="Mbrao/Content.html#locales-instance_method" title="Mbrao::Content#locales (method)">#locales</a></span>
220
238
  <small>Mbrao::Content</small>
221
239
  </li>
222
240
 
223
241
 
224
- <li class="r2 ">
225
- <span class='object_link'><a href="Mbrao/Author.html#metadata-instance_method" title="Mbrao::Author#metadata (method)">#metadata</a></span>
226
- <small>Mbrao::Author</small>
227
- </li>
228
-
229
-
230
242
  <li class="r1 ">
231
243
  <span class='object_link'><a href="Mbrao/Content.html#metadata-instance_method" title="Mbrao::Content#metadata (method)">#metadata</a></span>
232
244
  <small>Mbrao::Content</small>
@@ -234,83 +246,95 @@
234
246
 
235
247
 
236
248
  <li class="r2 ">
249
+ <span class='object_link'><a href="Mbrao/Author.html#metadata-instance_method" title="Mbrao::Author#metadata (method)">#metadata</a></span>
250
+ <small>Mbrao::Author</small>
251
+ </li>
252
+
253
+
254
+ <li class="r1 ">
237
255
  <span class='object_link'><a href="Mbrao/Content.html#more-instance_method" title="Mbrao::Content#more (method)">#more</a></span>
238
256
  <small>Mbrao::Content</small>
239
257
  </li>
240
258
 
241
259
 
242
- <li class="r1 ">
260
+ <li class="r2 ">
243
261
  <span class='object_link'><a href="Mbrao/Author.html#name-instance_method" title="Mbrao::Author#name (method)">#name</a></span>
244
262
  <small>Mbrao::Author</small>
245
263
  </li>
246
264
 
247
265
 
248
- <li class="r2 ">
266
+ <li class="r1 ">
249
267
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#parse-instance_method" title="Mbrao::PublicInterface::ClassMethods#parse (method)">#parse</a></span>
250
268
  <small>Mbrao::PublicInterface::ClassMethods</small>
251
269
  </li>
252
270
 
253
271
 
254
- <li class="r1 ">
272
+ <li class="r2 ">
255
273
  <span class='object_link'><a href="Mbrao/ParsingEngines/Base.html#parse-instance_method" title="Mbrao::ParsingEngines::Base#parse (method)">#parse</a></span>
256
274
  <small>Mbrao::ParsingEngines::Base</small>
257
275
  </li>
258
276
 
259
277
 
260
- <li class="r2 ">
278
+ <li class="r1 ">
261
279
  <span class='object_link'><a href="Mbrao/Parser.html#parse-instance_method" title="Mbrao::Parser#parse (method)">#parse</a></span>
262
280
  <small>Mbrao::Parser</small>
263
281
  </li>
264
282
 
265
283
 
266
- <li class="r1 ">
284
+ <li class="r2 ">
267
285
  <span class='object_link'><a href="Mbrao/ParsingEngines/PlainText.html#parse_metadata-instance_method" title="Mbrao::ParsingEngines::PlainText#parse_metadata (method)">#parse_metadata</a></span>
268
286
  <small>Mbrao::ParsingEngines::PlainText</small>
269
287
  </li>
270
288
 
271
289
 
272
- <li class="r2 ">
290
+ <li class="r1 ">
273
291
  <span class='object_link'><a href="Mbrao/ParsingEngines/Base.html#parse_metadata-instance_method" title="Mbrao::ParsingEngines::Base#parse_metadata (method)">#parse_metadata</a></span>
274
292
  <small>Mbrao::ParsingEngines::Base</small>
275
293
  </li>
276
294
 
277
295
 
278
- <li class="r1 ">
296
+ <li class="r2 ">
279
297
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#parsing_engine-instance_method" title="Mbrao::PublicInterface::ClassMethods#parsing_engine (method)">#parsing_engine</a></span>
280
298
  <small>Mbrao::PublicInterface::ClassMethods</small>
281
299
  </li>
282
300
 
283
301
 
284
- <li class="r2 ">
285
- <span class='object_link'><a href="Mbrao/RenderingEngines/HtmlPipeline.html#render-instance_method" title="Mbrao::RenderingEngines::HtmlPipeline#render (method)">#render</a></span>
286
- <small>Mbrao::RenderingEngines::HtmlPipeline</small>
302
+ <li class="r1 ">
303
+ <span class='object_link'><a href="ActionView/Template/Handlers/MbraoTemplate.html#register-class_method" title="ActionView::Template::Handlers::MbraoTemplate.register (method)">register</a></span>
304
+ <small>ActionView::Template::Handlers::MbraoTemplate</small>
287
305
  </li>
288
306
 
289
307
 
290
- <li class="r1 ">
308
+ <li class="r2 ">
291
309
  <span class='object_link'><a href="Mbrao/Parser.html#render-instance_method" title="Mbrao::Parser#render (method)">#render</a></span>
292
310
  <small>Mbrao::Parser</small>
293
311
  </li>
294
312
 
295
313
 
296
- <li class="r2 ">
297
- <span class='object_link'><a href="ActionView/Template/Handlers/MbraoTemplate.html#render-instance_method" title="ActionView::Template::Handlers::MbraoTemplate#render (method)">#render</a></span>
298
- <small>ActionView::Template::Handlers::MbraoTemplate</small>
314
+ <li class="r1 ">
315
+ <span class='object_link'><a href="Mbrao/RenderingEngines/HtmlPipeline.html#render-instance_method" title="Mbrao::RenderingEngines::HtmlPipeline#render (method)">#render</a></span>
316
+ <small>Mbrao::RenderingEngines::HtmlPipeline</small>
299
317
  </li>
300
318
 
301
319
 
302
- <li class="r1 ">
320
+ <li class="r2 ">
303
321
  <span class='object_link'><a href="Mbrao/RenderingEngines/Base.html#render-instance_method" title="Mbrao::RenderingEngines::Base#render (method)">#render</a></span>
304
322
  <small>Mbrao::RenderingEngines::Base</small>
305
323
  </li>
306
324
 
307
325
 
308
- <li class="r2 ">
326
+ <li class="r1 ">
309
327
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#render-instance_method" title="Mbrao::PublicInterface::ClassMethods#render (method)">#render</a></span>
310
328
  <small>Mbrao::PublicInterface::ClassMethods</small>
311
329
  </li>
312
330
 
313
331
 
332
+ <li class="r2 ">
333
+ <span class='object_link'><a href="ActionView/Template/Handlers/MbraoTemplate.html#render-instance_method" title="ActionView::Template::Handlers::MbraoTemplate#render (method)">#render</a></span>
334
+ <small>ActionView::Template::Handlers::MbraoTemplate</small>
335
+ </li>
336
+
337
+
314
338
  <li class="r1 ">
315
339
  <span class='object_link'><a href="Mbrao/PublicInterface/ClassMethods.html#rendering_engine-instance_method" title="Mbrao::PublicInterface::ClassMethods#rendering_engine (method)">#rendering_engine</a></span>
316
340
  <small>Mbrao::PublicInterface::ClassMethods</small>
@@ -318,14 +342,14 @@
318
342
 
319
343
 
320
344
  <li class="r2 ">
321
- <span class='object_link'><a href="Mbrao/ParsingEngines/PlainText.html#separate_components-instance_method" title="Mbrao::ParsingEngines::PlainText#separate_components (method)">#separate_components</a></span>
322
- <small>Mbrao::ParsingEngines::PlainText</small>
345
+ <span class='object_link'><a href="Mbrao/ParsingEngines/Base.html#separate_components-instance_method" title="Mbrao::ParsingEngines::Base#separate_components (method)">#separate_components</a></span>
346
+ <small>Mbrao::ParsingEngines::Base</small>
323
347
  </li>
324
348
 
325
349
 
326
350
  <li class="r1 ">
327
- <span class='object_link'><a href="Mbrao/ParsingEngines/Base.html#separate_components-instance_method" title="Mbrao::ParsingEngines::Base#separate_components (method)">#separate_components</a></span>
328
- <small>Mbrao::ParsingEngines::Base</small>
351
+ <span class='object_link'><a href="Mbrao/ParsingEngines/PlainText.html#separate_components-instance_method" title="Mbrao::ParsingEngines::PlainText#separate_components (method)">#separate_components</a></span>
352
+ <small>Mbrao::ParsingEngines::PlainText</small>
329
353
  </li>
330
354
 
331
355
 
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Sat Nov 23 13:44:01 2013 by
106
+ Generated on Sun Nov 24 14:07:03 2013 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
108
  0.8.7.3 (ruby-2.0.0).
109
109
  </div>
data/lib/mbrao/author.rb CHANGED
@@ -34,14 +34,25 @@ module Mbrao
34
34
  # @param website [String] The website of the author.
35
35
  # @param image [String] The URL of the avatar of the author.
36
36
  # @param metadata [HashWithIndifferentAccess] The full list of metadata of this author.
37
- # @param uid [String] A unique ID for this post. This is only for client uses.
38
- def initialize(name, email = nil, website = nil, image = nil, metadata = nil, uid = nil)
37
+ def initialize(name, email = nil, website = nil, image = nil, metadata = nil)
39
38
  @name = name.ensure_string
40
39
  @email = Mbrao::Parser.is_email?(email) ? email : nil
41
40
  @website = Mbrao::Parser.is_url?(website) ? website : nil
42
41
  @image = Mbrao::Parser.is_url?(image) ? image : nil
43
42
  @metadata = metadata.ensure_hash(:indifferent)
44
- @uid = uid
43
+ end
44
+
45
+ # Returns the author as an Hash.
46
+ #
47
+ # @param options [Hash] Options to modify behavior of the serialization.
48
+ # The only supported value are:
49
+ #
50
+ # * `:exclude`, an array of attributes to skip.
51
+ # * `:exclude_empty`, if to exclude nil values. Default is `false`.
52
+ # @return [Hash] An hash with all attributes.
53
+ def as_json(options = {})
54
+ keys = [:uid, :name, :email, :website, :image, :metadata]
55
+ ::Mbrao::Parser.as_json(self, keys, options)
45
56
  end
46
57
 
47
58
  # Creates an author from a `Hash`.
@@ -52,7 +63,10 @@ module Mbrao
52
63
  if data.is_a?(Hash) then
53
64
  data = HashWithIndifferentAccess.new(data)
54
65
  uid = data.delete(:uid)
55
- Mbrao::Author.new(data.delete(:name), data.delete(:email), data.delete(:website), data.delete(:image), data, uid)
66
+ metadata = data.delete(:metadata) || {}
67
+ author = Mbrao::Author.new(data.delete(:name), data.delete(:email), data.delete(:website), data.delete(:image), metadata.merge(data))
68
+ author.uid = uid
69
+ author
56
70
  else
57
71
  Mbrao::Author.new(data)
58
72
  end