mbrao 1.5.0 → 1.6.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -4
- data/.rubocop.yml +51 -3
- data/.travis-gemfile +5 -5
- data/.travis.yml +5 -3
- data/CHANGELOG.md +5 -0
- data/Gemfile +10 -9
- data/README.md +1 -2
- data/Rakefile +22 -6
- data/doc/ActionView.html +3 -3
- data/doc/ActionView/Template.html +3 -3
- data/doc/ActionView/Template/Handlers.html +3 -3
- data/doc/ActionView/Template/Handlers/MbraoTemplate.html +3 -3
- data/doc/HTML.html +3 -3
- data/doc/HTML/Pipeline.html +3 -3
- data/doc/HTML/Pipeline/KramdownFilter.html +3 -3
- data/doc/Mbrao.html +5 -5
- data/doc/Mbrao/Author.html +10 -10
- data/doc/Mbrao/Content.html +825 -844
- data/doc/Mbrao/ContentInterface.html +5 -5
- data/doc/Mbrao/ContentInterface/ClassMethods.html +4 -4
- data/doc/Mbrao/Exceptions.html +3 -3
- data/doc/Mbrao/Exceptions/InvalidDate.html +3 -3
- data/doc/Mbrao/Exceptions/InvalidMetadata.html +3 -3
- data/doc/Mbrao/Exceptions/Parsing.html +3 -3
- data/doc/Mbrao/Exceptions/Rendering.html +3 -3
- data/doc/Mbrao/Exceptions/UnavailableLocalization.html +3 -3
- data/doc/Mbrao/Exceptions/Unimplemented.html +3 -3
- data/doc/Mbrao/Exceptions/UnknownEngine.html +3 -3
- data/doc/Mbrao/Parser.html +3 -3
- data/doc/Mbrao/ParserInterface.html +3 -3
- data/doc/Mbrao/ParserInterface/ClassMethods.html +35 -95
- data/doc/Mbrao/ParserValidations.html +3 -3
- data/doc/Mbrao/ParserValidations/ClassMethods.html +3 -3
- data/doc/Mbrao/ParsingEngines.html +3 -3
- data/doc/Mbrao/ParsingEngines/Base.html +3 -3
- data/doc/Mbrao/ParsingEngines/PlainText.html +11 -17
- data/doc/Mbrao/RenderingEngines.html +3 -3
- data/doc/Mbrao/RenderingEngines/Base.html +3 -3
- data/doc/Mbrao/RenderingEngines/HtmlPipeline.html +24 -92
- data/doc/Mbrao/Version.html +4 -4
- data/doc/_index.html +8 -8
- data/doc/class_list.html +5 -1
- data/doc/file.README.html +5 -6
- data/doc/file_list.html +5 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +5 -6
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +75 -53
- data/doc/top-level-namespace.html +3 -3
- data/lib/mbrao/author.rb +1 -1
- data/lib/mbrao/content.rb +47 -65
- data/lib/mbrao/content_interface.rb +5 -17
- data/lib/mbrao/parser.rb +4 -10
- data/lib/mbrao/parser_interface.rb +9 -19
- data/lib/mbrao/parsing_engines/plain_text.rb +22 -58
- data/lib/mbrao/rendering_engines/html_pipeline.rb +9 -26
- data/lib/mbrao/version.rb +1 -1
- data/mbrao.gemspec +9 -9
- data/spec/mbrao/content_spec.rb +4 -4
- data/spec/mbrao/integrations/rails_spec.rb +4 -4
- data/spec/mbrao/parser_spec.rb +15 -15
- data/spec/spec_helper.rb +19 -5
- metadata +17 -19
- data/spec/coverage_helper.rb +0 -20
data/doc/Mbrao/Content.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Mbrao::Content
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -421,6 +421,84 @@
|
|
421
421
|
|
422
422
|
|
423
423
|
|
424
|
+
<h2>
|
425
|
+
Class Method Summary
|
426
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
427
|
+
</h2>
|
428
|
+
|
429
|
+
<ul class="summary">
|
430
|
+
|
431
|
+
<li class="public ">
|
432
|
+
<span class="summary_signature">
|
433
|
+
|
434
|
+
<a href="#assign_metadata-class_method" title="assign_metadata (class method)">+ (Content) <strong>assign_metadata</strong>(content, metadata) </a>
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
</span>
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
<span class="summary_desc"><div class='inline'><p>Assigns metadata to a content.</p>
|
449
|
+
</div></span>
|
450
|
+
|
451
|
+
</li>
|
452
|
+
|
453
|
+
|
454
|
+
<li class="public ">
|
455
|
+
<span class="summary_signature">
|
456
|
+
|
457
|
+
<a href="#extract_locales-class_method" title="extract_locales (class method)">+ (Array) <strong>extract_locales</strong>(locales) </a>
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
</span>
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
|
470
|
+
|
471
|
+
<span class="summary_desc"><div class='inline'><p>Extracts locales from metadata.</p>
|
472
|
+
</div></span>
|
473
|
+
|
474
|
+
</li>
|
475
|
+
|
476
|
+
|
477
|
+
<li class="public ">
|
478
|
+
<span class="summary_signature">
|
479
|
+
|
480
|
+
<a href="#normalize_locales-class_method" title="normalize_locales (class method)">+ (Array) <strong>normalize_locales</strong>(locales) </a>
|
481
|
+
|
482
|
+
|
483
|
+
|
484
|
+
</span>
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
|
493
|
+
|
494
|
+
<span class="summary_desc"><div class='inline'><p>Normalizes locales for further usage.</p>
|
495
|
+
</div></span>
|
496
|
+
|
497
|
+
</li>
|
498
|
+
|
499
|
+
|
500
|
+
</ul>
|
501
|
+
|
424
502
|
<h2>
|
425
503
|
Instance Method Summary
|
426
504
|
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
@@ -767,25 +845,7 @@
|
|
767
845
|
219
|
768
846
|
220
|
769
847
|
221
|
770
|
-
222
|
771
|
-
223
|
772
|
-
224
|
773
|
-
225
|
774
|
-
226
|
775
|
-
227
|
776
|
-
228
|
777
|
-
229
|
778
|
-
230
|
779
|
-
231
|
780
|
-
232
|
781
|
-
233
|
782
|
-
234
|
783
|
-
235
|
784
|
-
236
|
785
|
-
237
|
786
|
-
238
|
787
|
-
239
|
788
|
-
240</pre>
|
848
|
+
222</pre>
|
789
849
|
</td>
|
790
850
|
<td>
|
791
851
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -813,7 +873,7 @@
|
|
813
873
|
</span> <span class='comment'>#
|
814
874
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
815
875
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
816
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
876
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
817
877
|
<span class='kw'>end</span>
|
818
878
|
|
819
879
|
<span class='comment'># Sets the `title` attribute.
|
@@ -821,7 +881,7 @@
|
|
821
881
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
822
882
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
823
883
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
824
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
884
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
825
885
|
<span class='kw'>end</span>
|
826
886
|
|
827
887
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -829,7 +889,7 @@
|
|
829
889
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
830
890
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
831
891
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
832
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
892
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
833
893
|
<span class='kw'>end</span>
|
834
894
|
|
835
895
|
<span class='comment'># Sets the `body` attribute.
|
@@ -844,7 +904,7 @@
|
|
844
904
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
845
905
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
846
906
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
847
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
907
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
848
908
|
<span class='kw'>end</span>
|
849
909
|
|
850
910
|
<span class='comment'># Sets the `more` attribute.
|
@@ -852,7 +912,7 @@
|
|
852
912
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
853
913
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
854
914
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
855
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
915
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
856
916
|
<span class='kw'>end</span>
|
857
917
|
|
858
918
|
<span class='comment'># Sets the `author` attribute.
|
@@ -862,8 +922,8 @@
|
|
862
922
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
863
923
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
864
924
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
865
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
866
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
925
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
926
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
867
927
|
<span class='kw'>else</span>
|
868
928
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
869
929
|
<span class='kw'>end</span>
|
@@ -887,15 +947,44 @@
|
|
887
947
|
</span> <span class='comment'>#
|
888
948
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
889
949
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
890
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
950
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
891
951
|
<span class='kw'>end</span>
|
892
952
|
|
893
|
-
<span class='
|
953
|
+
<span class='comment'># Assigns metadata to a content
|
954
|
+
</span> <span class='comment'>#
|
955
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
956
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
957
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
958
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
959
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
960
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
961
|
+
<span class='kw'>end</span>
|
962
|
+
|
963
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
964
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
965
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
966
|
+
<span class='kw'>end</span>
|
967
|
+
|
968
|
+
<span class='comment'># Extracts locales from metadata.
|
969
|
+
</span> <span class='comment'>#
|
970
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
971
|
+
</span> <span class='comment'># @return [Array] The locales.
|
972
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
973
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
974
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
975
|
+
<span class='kw'>end</span>
|
894
976
|
|
895
|
-
<span class='comment'>#
|
977
|
+
<span class='comment'># Normalizes locales for further usage.
|
896
978
|
</span> <span class='comment'>#
|
897
|
-
</span> <span class='comment'># @param
|
898
|
-
</span> <span class='comment'># @return [
|
979
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
980
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
981
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
982
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
983
|
+
<span class='kw'>end</span>
|
984
|
+
|
985
|
+
<span class='id identifier rubyid_private'>private</span>
|
986
|
+
|
987
|
+
<span class='comment'># :nodoc:
|
899
988
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
900
989
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
901
990
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -903,10 +992,7 @@
|
|
903
992
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
904
993
|
<span class='kw'>end</span>
|
905
994
|
|
906
|
-
<span class='comment'>#
|
907
|
-
</span> <span class='comment'>#
|
908
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
909
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
995
|
+
<span class='comment'># :nodoc:
|
910
996
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
911
997
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
912
998
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -920,19 +1006,13 @@
|
|
920
1006
|
<span class='id identifier rubyid_rv'>rv</span>
|
921
1007
|
<span class='kw'>end</span>
|
922
1008
|
|
923
|
-
<span class='comment'>#
|
924
|
-
</span> <span class='comment'>#
|
925
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
926
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
1009
|
+
<span class='comment'># :nodoc:
|
927
1010
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
928
1011
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
929
1012
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
930
1013
|
<span class='kw'>end</span>
|
931
1014
|
|
932
|
-
<span class='comment'>#
|
933
|
-
</span> <span class='comment'>#
|
934
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
935
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
1015
|
+
<span class='comment'># :nodoc:
|
936
1016
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
937
1017
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
938
1018
|
|
@@ -947,53 +1027,15 @@
|
|
947
1027
|
<span class='kw'>end</span>
|
948
1028
|
<span class='kw'>end</span>
|
949
1029
|
|
950
|
-
<span class='comment'>#
|
951
|
-
</span> <span class='comment'>#
|
952
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
953
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
1030
|
+
<span class='comment'># :nodoc:
|
954
1031
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
955
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
1032
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
956
1033
|
<span class='kw'>end</span>
|
957
1034
|
|
958
|
-
<span class='comment'>#
|
959
|
-
</span> <span class='comment'>#
|
960
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
961
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
1035
|
+
<span class='comment'># :nodoc:
|
962
1036
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
963
1037
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
964
1038
|
<span class='kw'>end</span>
|
965
|
-
|
966
|
-
<span class='comment'># Assigns metadata to a content
|
967
|
-
</span> <span class='comment'>#
|
968
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
969
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
970
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
971
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
972
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
973
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
974
|
-
<span class='kw'>end</span>
|
975
|
-
|
976
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
977
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
978
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
979
|
-
<span class='kw'>end</span>
|
980
|
-
|
981
|
-
<span class='comment'># Extracts locales from metadata.
|
982
|
-
</span> <span class='comment'>#
|
983
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
984
|
-
</span> <span class='comment'># @return [Array] The locales.
|
985
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
986
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
987
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
988
|
-
<span class='kw'>end</span>
|
989
|
-
|
990
|
-
<span class='comment'># Normalizes locales for further usage.
|
991
|
-
</span> <span class='comment'>#
|
992
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
993
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
994
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
995
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
996
|
-
<span class='kw'>end</span>
|
997
1039
|
<span class='kw'>end</span></pre>
|
998
1040
|
</td>
|
999
1041
|
</tr>
|
@@ -1230,25 +1272,7 @@
|
|
1230
1272
|
219
|
1231
1273
|
220
|
1232
1274
|
221
|
1233
|
-
222
|
1234
|
-
223
|
1235
|
-
224
|
1236
|
-
225
|
1237
|
-
226
|
1238
|
-
227
|
1239
|
-
228
|
1240
|
-
229
|
1241
|
-
230
|
1242
|
-
231
|
1243
|
-
232
|
1244
|
-
233
|
1245
|
-
234
|
1246
|
-
235
|
1247
|
-
236
|
1248
|
-
237
|
1249
|
-
238
|
1250
|
-
239
|
1251
|
-
240</pre>
|
1275
|
+
222</pre>
|
1252
1276
|
</td>
|
1253
1277
|
<td>
|
1254
1278
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -1276,7 +1300,7 @@
|
|
1276
1300
|
</span> <span class='comment'>#
|
1277
1301
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
1278
1302
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1279
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
1303
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
1280
1304
|
<span class='kw'>end</span>
|
1281
1305
|
|
1282
1306
|
<span class='comment'># Sets the `title` attribute.
|
@@ -1284,7 +1308,7 @@
|
|
1284
1308
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1285
1309
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
1286
1310
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
1287
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1311
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1288
1312
|
<span class='kw'>end</span>
|
1289
1313
|
|
1290
1314
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -1292,7 +1316,7 @@
|
|
1292
1316
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1293
1317
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
1294
1318
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
1295
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1319
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1296
1320
|
<span class='kw'>end</span>
|
1297
1321
|
|
1298
1322
|
<span class='comment'># Sets the `body` attribute.
|
@@ -1307,7 +1331,7 @@
|
|
1307
1331
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1308
1332
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
1309
1333
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
1310
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
1334
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
1311
1335
|
<span class='kw'>end</span>
|
1312
1336
|
|
1313
1337
|
<span class='comment'># Sets the `more` attribute.
|
@@ -1315,7 +1339,7 @@
|
|
1315
1339
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1316
1340
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
1317
1341
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
1318
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1342
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1319
1343
|
<span class='kw'>end</span>
|
1320
1344
|
|
1321
1345
|
<span class='comment'># Sets the `author` attribute.
|
@@ -1325,8 +1349,8 @@
|
|
1325
1349
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
1326
1350
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
1327
1351
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
1328
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
1329
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1352
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
1353
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1330
1354
|
<span class='kw'>else</span>
|
1331
1355
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1332
1356
|
<span class='kw'>end</span>
|
@@ -1350,15 +1374,44 @@
|
|
1350
1374
|
</span> <span class='comment'>#
|
1351
1375
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
1352
1376
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
1353
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1377
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1354
1378
|
<span class='kw'>end</span>
|
1355
1379
|
|
1356
|
-
<span class='
|
1380
|
+
<span class='comment'># Assigns metadata to a content
|
1381
|
+
</span> <span class='comment'>#
|
1382
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
1383
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
1384
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
1385
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
1386
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
1387
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1388
|
+
<span class='kw'>end</span>
|
1389
|
+
|
1390
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1391
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1392
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
1393
|
+
<span class='kw'>end</span>
|
1394
|
+
|
1395
|
+
<span class='comment'># Extracts locales from metadata.
|
1396
|
+
</span> <span class='comment'>#
|
1397
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
1398
|
+
</span> <span class='comment'># @return [Array] The locales.
|
1399
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1400
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
1401
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1402
|
+
<span class='kw'>end</span>
|
1357
1403
|
|
1358
|
-
<span class='comment'>#
|
1404
|
+
<span class='comment'># Normalizes locales for further usage.
|
1359
1405
|
</span> <span class='comment'>#
|
1360
|
-
</span> <span class='comment'># @param
|
1361
|
-
</span> <span class='comment'># @return [
|
1406
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
1407
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
1408
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1409
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1410
|
+
<span class='kw'>end</span>
|
1411
|
+
|
1412
|
+
<span class='id identifier rubyid_private'>private</span>
|
1413
|
+
|
1414
|
+
<span class='comment'># :nodoc:
|
1362
1415
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1363
1416
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
1364
1417
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -1366,10 +1419,7 @@
|
|
1366
1419
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
1367
1420
|
<span class='kw'>end</span>
|
1368
1421
|
|
1369
|
-
<span class='comment'>#
|
1370
|
-
</span> <span class='comment'>#
|
1371
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
1372
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
1422
|
+
<span class='comment'># :nodoc:
|
1373
1423
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1374
1424
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
1375
1425
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -1383,19 +1433,13 @@
|
|
1383
1433
|
<span class='id identifier rubyid_rv'>rv</span>
|
1384
1434
|
<span class='kw'>end</span>
|
1385
1435
|
|
1386
|
-
<span class='comment'>#
|
1387
|
-
</span> <span class='comment'>#
|
1388
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
1389
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
1436
|
+
<span class='comment'># :nodoc:
|
1390
1437
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1391
1438
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
1392
1439
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1393
1440
|
<span class='kw'>end</span>
|
1394
1441
|
|
1395
|
-
<span class='comment'>#
|
1396
|
-
</span> <span class='comment'>#
|
1397
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
1398
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
1442
|
+
<span class='comment'># :nodoc:
|
1399
1443
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1400
1444
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1401
1445
|
|
@@ -1410,53 +1454,15 @@
|
|
1410
1454
|
<span class='kw'>end</span>
|
1411
1455
|
<span class='kw'>end</span>
|
1412
1456
|
|
1413
|
-
<span class='comment'>#
|
1414
|
-
</span> <span class='comment'>#
|
1415
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
1416
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
1457
|
+
<span class='comment'># :nodoc:
|
1417
1458
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1418
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
1459
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1419
1460
|
<span class='kw'>end</span>
|
1420
1461
|
|
1421
|
-
<span class='comment'>#
|
1422
|
-
</span> <span class='comment'>#
|
1423
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
1424
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
1462
|
+
<span class='comment'># :nodoc:
|
1425
1463
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1426
1464
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
1427
1465
|
<span class='kw'>end</span>
|
1428
|
-
|
1429
|
-
<span class='comment'># Assigns metadata to a content
|
1430
|
-
</span> <span class='comment'>#
|
1431
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
1432
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
1433
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
1434
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
1435
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
1436
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1437
|
-
<span class='kw'>end</span>
|
1438
|
-
|
1439
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1440
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1441
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
1442
|
-
<span class='kw'>end</span>
|
1443
|
-
|
1444
|
-
<span class='comment'># Extracts locales from metadata.
|
1445
|
-
</span> <span class='comment'>#
|
1446
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
1447
|
-
</span> <span class='comment'># @return [Array] The locales.
|
1448
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1449
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
1450
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1451
|
-
<span class='kw'>end</span>
|
1452
|
-
|
1453
|
-
<span class='comment'># Normalizes locales for further usage.
|
1454
|
-
</span> <span class='comment'>#
|
1455
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
1456
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
1457
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1458
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1459
|
-
<span class='kw'>end</span>
|
1460
1466
|
<span class='kw'>end</span></pre>
|
1461
1467
|
</td>
|
1462
1468
|
</tr>
|
@@ -1693,25 +1699,7 @@
|
|
1693
1699
|
219
|
1694
1700
|
220
|
1695
1701
|
221
|
1696
|
-
222
|
1697
|
-
223
|
1698
|
-
224
|
1699
|
-
225
|
1700
|
-
226
|
1701
|
-
227
|
1702
|
-
228
|
1703
|
-
229
|
1704
|
-
230
|
1705
|
-
231
|
1706
|
-
232
|
1707
|
-
233
|
1708
|
-
234
|
1709
|
-
235
|
1710
|
-
236
|
1711
|
-
237
|
1712
|
-
238
|
1713
|
-
239
|
1714
|
-
240</pre>
|
1702
|
+
222</pre>
|
1715
1703
|
</td>
|
1716
1704
|
<td>
|
1717
1705
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -1739,7 +1727,7 @@
|
|
1739
1727
|
</span> <span class='comment'>#
|
1740
1728
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
1741
1729
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1742
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
1730
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
1743
1731
|
<span class='kw'>end</span>
|
1744
1732
|
|
1745
1733
|
<span class='comment'># Sets the `title` attribute.
|
@@ -1747,7 +1735,7 @@
|
|
1747
1735
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1748
1736
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
1749
1737
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
1750
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1738
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1751
1739
|
<span class='kw'>end</span>
|
1752
1740
|
|
1753
1741
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -1755,7 +1743,7 @@
|
|
1755
1743
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1756
1744
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
1757
1745
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
1758
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1746
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1759
1747
|
<span class='kw'>end</span>
|
1760
1748
|
|
1761
1749
|
<span class='comment'># Sets the `body` attribute.
|
@@ -1770,7 +1758,7 @@
|
|
1770
1758
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1771
1759
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
1772
1760
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
1773
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
1761
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
1774
1762
|
<span class='kw'>end</span>
|
1775
1763
|
|
1776
1764
|
<span class='comment'># Sets the `more` attribute.
|
@@ -1778,7 +1766,7 @@
|
|
1778
1766
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
1779
1767
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
1780
1768
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
1781
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1769
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1782
1770
|
<span class='kw'>end</span>
|
1783
1771
|
|
1784
1772
|
<span class='comment'># Sets the `author` attribute.
|
@@ -1788,8 +1776,8 @@
|
|
1788
1776
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
1789
1777
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
1790
1778
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
1791
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
1792
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1779
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
1780
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1793
1781
|
<span class='kw'>else</span>
|
1794
1782
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1795
1783
|
<span class='kw'>end</span>
|
@@ -1813,15 +1801,44 @@
|
|
1813
1801
|
</span> <span class='comment'>#
|
1814
1802
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
1815
1803
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
1816
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1804
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1817
1805
|
<span class='kw'>end</span>
|
1818
1806
|
|
1819
|
-
<span class='
|
1807
|
+
<span class='comment'># Assigns metadata to a content
|
1808
|
+
</span> <span class='comment'>#
|
1809
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
1810
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
1811
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
1812
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
1813
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
1814
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1815
|
+
<span class='kw'>end</span>
|
1816
|
+
|
1817
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1818
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1819
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
1820
|
+
<span class='kw'>end</span>
|
1821
|
+
|
1822
|
+
<span class='comment'># Extracts locales from metadata.
|
1823
|
+
</span> <span class='comment'>#
|
1824
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
1825
|
+
</span> <span class='comment'># @return [Array] The locales.
|
1826
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1827
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
1828
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1829
|
+
<span class='kw'>end</span>
|
1820
1830
|
|
1821
|
-
<span class='comment'>#
|
1831
|
+
<span class='comment'># Normalizes locales for further usage.
|
1822
1832
|
</span> <span class='comment'>#
|
1823
|
-
</span> <span class='comment'># @param
|
1824
|
-
</span> <span class='comment'># @return [
|
1833
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
1834
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
1835
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1836
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1837
|
+
<span class='kw'>end</span>
|
1838
|
+
|
1839
|
+
<span class='id identifier rubyid_private'>private</span>
|
1840
|
+
|
1841
|
+
<span class='comment'># :nodoc:
|
1825
1842
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1826
1843
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
1827
1844
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -1829,10 +1846,7 @@
|
|
1829
1846
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
1830
1847
|
<span class='kw'>end</span>
|
1831
1848
|
|
1832
|
-
<span class='comment'>#
|
1833
|
-
</span> <span class='comment'>#
|
1834
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
1835
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
1849
|
+
<span class='comment'># :nodoc:
|
1836
1850
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1837
1851
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
1838
1852
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -1846,19 +1860,13 @@
|
|
1846
1860
|
<span class='id identifier rubyid_rv'>rv</span>
|
1847
1861
|
<span class='kw'>end</span>
|
1848
1862
|
|
1849
|
-
<span class='comment'>#
|
1850
|
-
</span> <span class='comment'>#
|
1851
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
1852
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
1863
|
+
<span class='comment'># :nodoc:
|
1853
1864
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1854
1865
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
1855
1866
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1856
1867
|
<span class='kw'>end</span>
|
1857
1868
|
|
1858
|
-
<span class='comment'>#
|
1859
|
-
</span> <span class='comment'>#
|
1860
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
1861
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
1869
|
+
<span class='comment'># :nodoc:
|
1862
1870
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1863
1871
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1864
1872
|
|
@@ -1873,53 +1881,15 @@
|
|
1873
1881
|
<span class='kw'>end</span>
|
1874
1882
|
<span class='kw'>end</span>
|
1875
1883
|
|
1876
|
-
<span class='comment'>#
|
1877
|
-
</span> <span class='comment'>#
|
1878
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
1879
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
1884
|
+
<span class='comment'># :nodoc:
|
1880
1885
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1881
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
1886
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1882
1887
|
<span class='kw'>end</span>
|
1883
1888
|
|
1884
|
-
<span class='comment'>#
|
1885
|
-
</span> <span class='comment'>#
|
1886
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
1887
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
1889
|
+
<span class='comment'># :nodoc:
|
1888
1890
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1889
1891
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
1890
1892
|
<span class='kw'>end</span>
|
1891
|
-
|
1892
|
-
<span class='comment'># Assigns metadata to a content
|
1893
|
-
</span> <span class='comment'>#
|
1894
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
1895
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
1896
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
1897
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
1898
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
1899
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1900
|
-
<span class='kw'>end</span>
|
1901
|
-
|
1902
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1903
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1904
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
1905
|
-
<span class='kw'>end</span>
|
1906
|
-
|
1907
|
-
<span class='comment'># Extracts locales from metadata.
|
1908
|
-
</span> <span class='comment'>#
|
1909
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
1910
|
-
</span> <span class='comment'># @return [Array] The locales.
|
1911
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1912
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
1913
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1914
|
-
<span class='kw'>end</span>
|
1915
|
-
|
1916
|
-
<span class='comment'># Normalizes locales for further usage.
|
1917
|
-
</span> <span class='comment'>#
|
1918
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
1919
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
1920
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
1921
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1922
|
-
<span class='kw'>end</span>
|
1923
1893
|
<span class='kw'>end</span></pre>
|
1924
1894
|
</td>
|
1925
1895
|
</tr>
|
@@ -2156,25 +2126,7 @@
|
|
2156
2126
|
219
|
2157
2127
|
220
|
2158
2128
|
221
|
2159
|
-
222
|
2160
|
-
223
|
2161
|
-
224
|
2162
|
-
225
|
2163
|
-
226
|
2164
|
-
227
|
2165
|
-
228
|
2166
|
-
229
|
2167
|
-
230
|
2168
|
-
231
|
2169
|
-
232
|
2170
|
-
233
|
2171
|
-
234
|
2172
|
-
235
|
2173
|
-
236
|
2174
|
-
237
|
2175
|
-
238
|
2176
|
-
239
|
2177
|
-
240</pre>
|
2129
|
+
222</pre>
|
2178
2130
|
</td>
|
2179
2131
|
<td>
|
2180
2132
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -2202,7 +2154,7 @@
|
|
2202
2154
|
</span> <span class='comment'>#
|
2203
2155
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
2204
2156
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2205
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
2157
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
2206
2158
|
<span class='kw'>end</span>
|
2207
2159
|
|
2208
2160
|
<span class='comment'># Sets the `title` attribute.
|
@@ -2210,7 +2162,7 @@
|
|
2210
2162
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2211
2163
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
2212
2164
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
2213
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2165
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2214
2166
|
<span class='kw'>end</span>
|
2215
2167
|
|
2216
2168
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -2218,7 +2170,7 @@
|
|
2218
2170
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2219
2171
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
2220
2172
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
2221
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2173
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2222
2174
|
<span class='kw'>end</span>
|
2223
2175
|
|
2224
2176
|
<span class='comment'># Sets the `body` attribute.
|
@@ -2233,7 +2185,7 @@
|
|
2233
2185
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2234
2186
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
2235
2187
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
2236
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
2188
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
2237
2189
|
<span class='kw'>end</span>
|
2238
2190
|
|
2239
2191
|
<span class='comment'># Sets the `more` attribute.
|
@@ -2241,7 +2193,7 @@
|
|
2241
2193
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2242
2194
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
2243
2195
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
2244
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2196
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2245
2197
|
<span class='kw'>end</span>
|
2246
2198
|
|
2247
2199
|
<span class='comment'># Sets the `author` attribute.
|
@@ -2251,8 +2203,8 @@
|
|
2251
2203
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
2252
2204
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
2253
2205
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
2254
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
2255
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2206
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
2207
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2256
2208
|
<span class='kw'>else</span>
|
2257
2209
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
2258
2210
|
<span class='kw'>end</span>
|
@@ -2276,15 +2228,44 @@
|
|
2276
2228
|
</span> <span class='comment'>#
|
2277
2229
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
2278
2230
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
2279
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
2231
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
2280
2232
|
<span class='kw'>end</span>
|
2281
2233
|
|
2282
|
-
<span class='
|
2234
|
+
<span class='comment'># Assigns metadata to a content
|
2235
|
+
</span> <span class='comment'>#
|
2236
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
2237
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
2238
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
2239
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
2240
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
2241
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2242
|
+
<span class='kw'>end</span>
|
2243
|
+
|
2244
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2245
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2246
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
2247
|
+
<span class='kw'>end</span>
|
2248
|
+
|
2249
|
+
<span class='comment'># Extracts locales from metadata.
|
2250
|
+
</span> <span class='comment'>#
|
2251
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
2252
|
+
</span> <span class='comment'># @return [Array] The locales.
|
2253
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2254
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
2255
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2256
|
+
<span class='kw'>end</span>
|
2283
2257
|
|
2284
|
-
<span class='comment'>#
|
2258
|
+
<span class='comment'># Normalizes locales for further usage.
|
2285
2259
|
</span> <span class='comment'>#
|
2286
|
-
</span> <span class='comment'># @param
|
2287
|
-
</span> <span class='comment'># @return [
|
2260
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
2261
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
2262
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2263
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
2264
|
+
<span class='kw'>end</span>
|
2265
|
+
|
2266
|
+
<span class='id identifier rubyid_private'>private</span>
|
2267
|
+
|
2268
|
+
<span class='comment'># :nodoc:
|
2288
2269
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2289
2270
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
2290
2271
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -2292,10 +2273,7 @@
|
|
2292
2273
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
2293
2274
|
<span class='kw'>end</span>
|
2294
2275
|
|
2295
|
-
<span class='comment'>#
|
2296
|
-
</span> <span class='comment'>#
|
2297
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
2298
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
2276
|
+
<span class='comment'># :nodoc:
|
2299
2277
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2300
2278
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
2301
2279
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -2309,19 +2287,13 @@
|
|
2309
2287
|
<span class='id identifier rubyid_rv'>rv</span>
|
2310
2288
|
<span class='kw'>end</span>
|
2311
2289
|
|
2312
|
-
<span class='comment'>#
|
2313
|
-
</span> <span class='comment'>#
|
2314
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
2315
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
2290
|
+
<span class='comment'># :nodoc:
|
2316
2291
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2317
2292
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
2318
2293
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
2319
2294
|
<span class='kw'>end</span>
|
2320
2295
|
|
2321
|
-
<span class='comment'>#
|
2322
|
-
</span> <span class='comment'>#
|
2323
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
2324
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
2296
|
+
<span class='comment'># :nodoc:
|
2325
2297
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2326
2298
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2327
2299
|
|
@@ -2336,53 +2308,15 @@
|
|
2336
2308
|
<span class='kw'>end</span>
|
2337
2309
|
<span class='kw'>end</span>
|
2338
2310
|
|
2339
|
-
<span class='comment'>#
|
2340
|
-
</span> <span class='comment'>#
|
2341
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
2342
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
2311
|
+
<span class='comment'># :nodoc:
|
2343
2312
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2344
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
2313
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
2345
2314
|
<span class='kw'>end</span>
|
2346
2315
|
|
2347
|
-
<span class='comment'>#
|
2348
|
-
</span> <span class='comment'>#
|
2349
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
2350
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
2316
|
+
<span class='comment'># :nodoc:
|
2351
2317
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2352
2318
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
2353
2319
|
<span class='kw'>end</span>
|
2354
|
-
|
2355
|
-
<span class='comment'># Assigns metadata to a content
|
2356
|
-
</span> <span class='comment'>#
|
2357
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
2358
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
2359
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
2360
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
2361
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
2362
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2363
|
-
<span class='kw'>end</span>
|
2364
|
-
|
2365
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2366
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2367
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
2368
|
-
<span class='kw'>end</span>
|
2369
|
-
|
2370
|
-
<span class='comment'># Extracts locales from metadata.
|
2371
|
-
</span> <span class='comment'>#
|
2372
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
2373
|
-
</span> <span class='comment'># @return [Array] The locales.
|
2374
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2375
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
2376
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2377
|
-
<span class='kw'>end</span>
|
2378
|
-
|
2379
|
-
<span class='comment'># Normalizes locales for further usage.
|
2380
|
-
</span> <span class='comment'>#
|
2381
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
2382
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
2383
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2384
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
2385
|
-
<span class='kw'>end</span>
|
2386
2320
|
<span class='kw'>end</span></pre>
|
2387
2321
|
</td>
|
2388
2322
|
</tr>
|
@@ -2619,25 +2553,7 @@
|
|
2619
2553
|
219
|
2620
2554
|
220
|
2621
2555
|
221
|
2622
|
-
222
|
2623
|
-
223
|
2624
|
-
224
|
2625
|
-
225
|
2626
|
-
226
|
2627
|
-
227
|
2628
|
-
228
|
2629
|
-
229
|
2630
|
-
230
|
2631
|
-
231
|
2632
|
-
232
|
2633
|
-
233
|
2634
|
-
234
|
2635
|
-
235
|
2636
|
-
236
|
2637
|
-
237
|
2638
|
-
238
|
2639
|
-
239
|
2640
|
-
240</pre>
|
2556
|
+
222</pre>
|
2641
2557
|
</td>
|
2642
2558
|
<td>
|
2643
2559
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -2665,7 +2581,7 @@
|
|
2665
2581
|
</span> <span class='comment'>#
|
2666
2582
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
2667
2583
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2668
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
2584
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
2669
2585
|
<span class='kw'>end</span>
|
2670
2586
|
|
2671
2587
|
<span class='comment'># Sets the `title` attribute.
|
@@ -2673,7 +2589,7 @@
|
|
2673
2589
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2674
2590
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
2675
2591
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
2676
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2592
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2677
2593
|
<span class='kw'>end</span>
|
2678
2594
|
|
2679
2595
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -2681,7 +2597,7 @@
|
|
2681
2597
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2682
2598
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
2683
2599
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
2684
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2600
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2685
2601
|
<span class='kw'>end</span>
|
2686
2602
|
|
2687
2603
|
<span class='comment'># Sets the `body` attribute.
|
@@ -2696,7 +2612,7 @@
|
|
2696
2612
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2697
2613
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
2698
2614
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
2699
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
2615
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
2700
2616
|
<span class='kw'>end</span>
|
2701
2617
|
|
2702
2618
|
<span class='comment'># Sets the `more` attribute.
|
@@ -2704,7 +2620,7 @@
|
|
2704
2620
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
2705
2621
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
2706
2622
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
2707
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2623
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2708
2624
|
<span class='kw'>end</span>
|
2709
2625
|
|
2710
2626
|
<span class='comment'># Sets the `author` attribute.
|
@@ -2714,8 +2630,8 @@
|
|
2714
2630
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
2715
2631
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
2716
2632
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
2717
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
2718
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2633
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
2634
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2719
2635
|
<span class='kw'>else</span>
|
2720
2636
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
2721
2637
|
<span class='kw'>end</span>
|
@@ -2739,15 +2655,44 @@
|
|
2739
2655
|
</span> <span class='comment'>#
|
2740
2656
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
2741
2657
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
2742
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
2658
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
2743
2659
|
<span class='kw'>end</span>
|
2744
2660
|
|
2745
|
-
<span class='
|
2661
|
+
<span class='comment'># Assigns metadata to a content
|
2662
|
+
</span> <span class='comment'>#
|
2663
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
2664
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
2665
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
2666
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
2667
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
2668
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2669
|
+
<span class='kw'>end</span>
|
2670
|
+
|
2671
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2672
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2673
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
2674
|
+
<span class='kw'>end</span>
|
2675
|
+
|
2676
|
+
<span class='comment'># Extracts locales from metadata.
|
2677
|
+
</span> <span class='comment'>#
|
2678
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
2679
|
+
</span> <span class='comment'># @return [Array] The locales.
|
2680
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2681
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
2682
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2683
|
+
<span class='kw'>end</span>
|
2746
2684
|
|
2747
|
-
<span class='comment'>#
|
2685
|
+
<span class='comment'># Normalizes locales for further usage.
|
2748
2686
|
</span> <span class='comment'>#
|
2749
|
-
</span> <span class='comment'># @param
|
2750
|
-
</span> <span class='comment'># @return [
|
2687
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
2688
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
2689
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2690
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
2691
|
+
<span class='kw'>end</span>
|
2692
|
+
|
2693
|
+
<span class='id identifier rubyid_private'>private</span>
|
2694
|
+
|
2695
|
+
<span class='comment'># :nodoc:
|
2751
2696
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2752
2697
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
2753
2698
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -2755,10 +2700,7 @@
|
|
2755
2700
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
2756
2701
|
<span class='kw'>end</span>
|
2757
2702
|
|
2758
|
-
<span class='comment'>#
|
2759
|
-
</span> <span class='comment'>#
|
2760
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
2761
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
2703
|
+
<span class='comment'># :nodoc:
|
2762
2704
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2763
2705
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
2764
2706
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -2772,19 +2714,13 @@
|
|
2772
2714
|
<span class='id identifier rubyid_rv'>rv</span>
|
2773
2715
|
<span class='kw'>end</span>
|
2774
2716
|
|
2775
|
-
<span class='comment'>#
|
2776
|
-
</span> <span class='comment'>#
|
2777
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
2778
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
2717
|
+
<span class='comment'># :nodoc:
|
2779
2718
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2780
2719
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
2781
2720
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
2782
2721
|
<span class='kw'>end</span>
|
2783
2722
|
|
2784
|
-
<span class='comment'>#
|
2785
|
-
</span> <span class='comment'>#
|
2786
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
2787
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
2723
|
+
<span class='comment'># :nodoc:
|
2788
2724
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2789
2725
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2790
2726
|
|
@@ -2799,53 +2735,15 @@
|
|
2799
2735
|
<span class='kw'>end</span>
|
2800
2736
|
<span class='kw'>end</span>
|
2801
2737
|
|
2802
|
-
<span class='comment'>#
|
2803
|
-
</span> <span class='comment'>#
|
2804
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
2805
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
2738
|
+
<span class='comment'># :nodoc:
|
2806
2739
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2807
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
2740
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
2808
2741
|
<span class='kw'>end</span>
|
2809
2742
|
|
2810
|
-
<span class='comment'>#
|
2811
|
-
</span> <span class='comment'>#
|
2812
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
2813
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
2743
|
+
<span class='comment'># :nodoc:
|
2814
2744
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
2815
2745
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
2816
2746
|
<span class='kw'>end</span>
|
2817
|
-
|
2818
|
-
<span class='comment'># Assigns metadata to a content
|
2819
|
-
</span> <span class='comment'>#
|
2820
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
2821
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
2822
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
2823
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
2824
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
2825
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2826
|
-
<span class='kw'>end</span>
|
2827
|
-
|
2828
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2829
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2830
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
2831
|
-
<span class='kw'>end</span>
|
2832
|
-
|
2833
|
-
<span class='comment'># Extracts locales from metadata.
|
2834
|
-
</span> <span class='comment'>#
|
2835
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
2836
|
-
</span> <span class='comment'># @return [Array] The locales.
|
2837
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2838
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
2839
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2840
|
-
<span class='kw'>end</span>
|
2841
|
-
|
2842
|
-
<span class='comment'># Normalizes locales for further usage.
|
2843
|
-
</span> <span class='comment'>#
|
2844
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
2845
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
2846
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
2847
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
2848
|
-
<span class='kw'>end</span>
|
2849
2747
|
<span class='kw'>end</span></pre>
|
2850
2748
|
</td>
|
2851
2749
|
</tr>
|
@@ -3126,25 +3024,7 @@ for multiple locales.</p>
|
|
3126
3024
|
219
|
3127
3025
|
220
|
3128
3026
|
221
|
3129
|
-
222
|
3130
|
-
223
|
3131
|
-
224
|
3132
|
-
225
|
3133
|
-
226
|
3134
|
-
227
|
3135
|
-
228
|
3136
|
-
229
|
3137
|
-
230
|
3138
|
-
231
|
3139
|
-
232
|
3140
|
-
233
|
3141
|
-
234
|
3142
|
-
235
|
3143
|
-
236
|
3144
|
-
237
|
3145
|
-
238
|
3146
|
-
239
|
3147
|
-
240</pre>
|
3027
|
+
222</pre>
|
3148
3028
|
</td>
|
3149
3029
|
<td>
|
3150
3030
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -3172,7 +3052,7 @@ for multiple locales.</p>
|
|
3172
3052
|
</span> <span class='comment'>#
|
3173
3053
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
3174
3054
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3175
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
3055
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
3176
3056
|
<span class='kw'>end</span>
|
3177
3057
|
|
3178
3058
|
<span class='comment'># Sets the `title` attribute.
|
@@ -3180,7 +3060,7 @@ for multiple locales.</p>
|
|
3180
3060
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3181
3061
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
3182
3062
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
3183
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3063
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3184
3064
|
<span class='kw'>end</span>
|
3185
3065
|
|
3186
3066
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -3188,7 +3068,7 @@ for multiple locales.</p>
|
|
3188
3068
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3189
3069
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
3190
3070
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
3191
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3071
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3192
3072
|
<span class='kw'>end</span>
|
3193
3073
|
|
3194
3074
|
<span class='comment'># Sets the `body` attribute.
|
@@ -3203,7 +3083,7 @@ for multiple locales.</p>
|
|
3203
3083
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3204
3084
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
3205
3085
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3206
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3086
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3207
3087
|
<span class='kw'>end</span>
|
3208
3088
|
|
3209
3089
|
<span class='comment'># Sets the `more` attribute.
|
@@ -3211,7 +3091,7 @@ for multiple locales.</p>
|
|
3211
3091
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3212
3092
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
3213
3093
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
3214
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3094
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3215
3095
|
<span class='kw'>end</span>
|
3216
3096
|
|
3217
3097
|
<span class='comment'># Sets the `author` attribute.
|
@@ -3221,8 +3101,8 @@ for multiple locales.</p>
|
|
3221
3101
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
3222
3102
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
3223
3103
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
3224
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
3225
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3104
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
3105
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3226
3106
|
<span class='kw'>else</span>
|
3227
3107
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
3228
3108
|
<span class='kw'>end</span>
|
@@ -3246,15 +3126,44 @@ for multiple locales.</p>
|
|
3246
3126
|
</span> <span class='comment'>#
|
3247
3127
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
3248
3128
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
3249
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
3129
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
3250
3130
|
<span class='kw'>end</span>
|
3251
3131
|
|
3252
|
-
<span class='
|
3132
|
+
<span class='comment'># Assigns metadata to a content
|
3133
|
+
</span> <span class='comment'>#
|
3134
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
3135
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
3136
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
3137
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
3138
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
3139
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3140
|
+
<span class='kw'>end</span>
|
3141
|
+
|
3142
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3143
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3144
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
3145
|
+
<span class='kw'>end</span>
|
3146
|
+
|
3147
|
+
<span class='comment'># Extracts locales from metadata.
|
3148
|
+
</span> <span class='comment'>#
|
3149
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
3150
|
+
</span> <span class='comment'># @return [Array] The locales.
|
3151
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3152
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
3153
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3154
|
+
<span class='kw'>end</span>
|
3253
3155
|
|
3254
|
-
<span class='comment'>#
|
3156
|
+
<span class='comment'># Normalizes locales for further usage.
|
3255
3157
|
</span> <span class='comment'>#
|
3256
|
-
</span> <span class='comment'># @param
|
3257
|
-
</span> <span class='comment'># @return [
|
3158
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
3159
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
3160
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3161
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
3162
|
+
<span class='kw'>end</span>
|
3163
|
+
|
3164
|
+
<span class='id identifier rubyid_private'>private</span>
|
3165
|
+
|
3166
|
+
<span class='comment'># :nodoc:
|
3258
3167
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3259
3168
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
3260
3169
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -3262,10 +3171,7 @@ for multiple locales.</p>
|
|
3262
3171
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
3263
3172
|
<span class='kw'>end</span>
|
3264
3173
|
|
3265
|
-
<span class='comment'>#
|
3266
|
-
</span> <span class='comment'>#
|
3267
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
3268
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
3174
|
+
<span class='comment'># :nodoc:
|
3269
3175
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3270
3176
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
3271
3177
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -3279,19 +3185,13 @@ for multiple locales.</p>
|
|
3279
3185
|
<span class='id identifier rubyid_rv'>rv</span>
|
3280
3186
|
<span class='kw'>end</span>
|
3281
3187
|
|
3282
|
-
<span class='comment'>#
|
3283
|
-
</span> <span class='comment'>#
|
3284
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
3285
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
3188
|
+
<span class='comment'># :nodoc:
|
3286
3189
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3287
3190
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
3288
3191
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
3289
3192
|
<span class='kw'>end</span>
|
3290
3193
|
|
3291
|
-
<span class='comment'>#
|
3292
|
-
</span> <span class='comment'>#
|
3293
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
3294
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
3194
|
+
<span class='comment'># :nodoc:
|
3295
3195
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3296
3196
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3297
3197
|
|
@@ -3306,53 +3206,15 @@ for multiple locales.</p>
|
|
3306
3206
|
<span class='kw'>end</span>
|
3307
3207
|
<span class='kw'>end</span>
|
3308
3208
|
|
3309
|
-
<span class='comment'>#
|
3310
|
-
</span> <span class='comment'>#
|
3311
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
3312
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
3209
|
+
<span class='comment'># :nodoc:
|
3313
3210
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3314
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
3211
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
3315
3212
|
<span class='kw'>end</span>
|
3316
3213
|
|
3317
|
-
<span class='comment'>#
|
3318
|
-
</span> <span class='comment'>#
|
3319
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
3320
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
3214
|
+
<span class='comment'># :nodoc:
|
3321
3215
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3322
3216
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
3323
3217
|
<span class='kw'>end</span>
|
3324
|
-
|
3325
|
-
<span class='comment'># Assigns metadata to a content
|
3326
|
-
</span> <span class='comment'>#
|
3327
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
3328
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
3329
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
3330
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
3331
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
3332
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3333
|
-
<span class='kw'>end</span>
|
3334
|
-
|
3335
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3336
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3337
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
3338
|
-
<span class='kw'>end</span>
|
3339
|
-
|
3340
|
-
<span class='comment'># Extracts locales from metadata.
|
3341
|
-
</span> <span class='comment'>#
|
3342
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
3343
|
-
</span> <span class='comment'># @return [Array] The locales.
|
3344
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3345
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
3346
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3347
|
-
<span class='kw'>end</span>
|
3348
|
-
|
3349
|
-
<span class='comment'># Normalizes locales for further usage.
|
3350
|
-
</span> <span class='comment'>#
|
3351
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
3352
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
3353
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3354
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
3355
|
-
<span class='kw'>end</span>
|
3356
3218
|
<span class='kw'>end</span></pre>
|
3357
3219
|
</td>
|
3358
3220
|
</tr>
|
@@ -3591,25 +3453,7 @@ are specified for multiple locales.</p>
|
|
3591
3453
|
219
|
3592
3454
|
220
|
3593
3455
|
221
|
3594
|
-
222
|
3595
|
-
223
|
3596
|
-
224
|
3597
|
-
225
|
3598
|
-
226
|
3599
|
-
227
|
3600
|
-
228
|
3601
|
-
229
|
3602
|
-
230
|
3603
|
-
231
|
3604
|
-
232
|
3605
|
-
233
|
3606
|
-
234
|
3607
|
-
235
|
3608
|
-
236
|
3609
|
-
237
|
3610
|
-
238
|
3611
|
-
239
|
3612
|
-
240</pre>
|
3456
|
+
222</pre>
|
3613
3457
|
</td>
|
3614
3458
|
<td>
|
3615
3459
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -3637,7 +3481,7 @@ are specified for multiple locales.</p>
|
|
3637
3481
|
</span> <span class='comment'>#
|
3638
3482
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
3639
3483
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3640
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
3484
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
3641
3485
|
<span class='kw'>end</span>
|
3642
3486
|
|
3643
3487
|
<span class='comment'># Sets the `title` attribute.
|
@@ -3645,7 +3489,7 @@ are specified for multiple locales.</p>
|
|
3645
3489
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3646
3490
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
3647
3491
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
3648
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3492
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3649
3493
|
<span class='kw'>end</span>
|
3650
3494
|
|
3651
3495
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -3653,7 +3497,7 @@ are specified for multiple locales.</p>
|
|
3653
3497
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3654
3498
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
3655
3499
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
3656
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3500
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3657
3501
|
<span class='kw'>end</span>
|
3658
3502
|
|
3659
3503
|
<span class='comment'># Sets the `body` attribute.
|
@@ -3668,7 +3512,7 @@ are specified for multiple locales.</p>
|
|
3668
3512
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3669
3513
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
3670
3514
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3671
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3515
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3672
3516
|
<span class='kw'>end</span>
|
3673
3517
|
|
3674
3518
|
<span class='comment'># Sets the `more` attribute.
|
@@ -3676,7 +3520,7 @@ are specified for multiple locales.</p>
|
|
3676
3520
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
3677
3521
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
3678
3522
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
3679
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3523
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3680
3524
|
<span class='kw'>end</span>
|
3681
3525
|
|
3682
3526
|
<span class='comment'># Sets the `author` attribute.
|
@@ -3686,8 +3530,8 @@ are specified for multiple locales.</p>
|
|
3686
3530
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
3687
3531
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
3688
3532
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
3689
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
3690
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3533
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
3534
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3691
3535
|
<span class='kw'>else</span>
|
3692
3536
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
3693
3537
|
<span class='kw'>end</span>
|
@@ -3711,27 +3555,53 @@ are specified for multiple locales.</p>
|
|
3711
3555
|
</span> <span class='comment'>#
|
3712
3556
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
3713
3557
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
3714
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
3558
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
3715
3559
|
<span class='kw'>end</span>
|
3716
3560
|
|
3717
|
-
<span class='
|
3718
|
-
|
3719
|
-
<span class='comment'># Extracts a date and time from a value.
|
3561
|
+
<span class='comment'># Assigns metadata to a content
|
3720
3562
|
</span> <span class='comment'>#
|
3721
|
-
</span> <span class='comment'># @param
|
3722
|
-
</span> <span class='comment'># @
|
3723
|
-
</span> <span class='
|
3724
|
-
|
3725
|
-
<span class='
|
3726
|
-
|
3727
|
-
<span class='
|
3563
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
3564
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
3565
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
3566
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
3567
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
3568
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3569
|
+
<span class='kw'>end</span>
|
3570
|
+
|
3571
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3572
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3573
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
3728
3574
|
<span class='kw'>end</span>
|
3729
3575
|
|
3730
|
-
<span class='comment'>#
|
3576
|
+
<span class='comment'># Extracts locales from metadata.
|
3731
3577
|
</span> <span class='comment'>#
|
3732
|
-
</span> <span class='comment'># @param
|
3733
|
-
</span> <span class='comment'># @return [
|
3734
|
-
</span> <span class='kw'>def</span> <span class='id identifier
|
3578
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
3579
|
+
</span> <span class='comment'># @return [Array] The locales.
|
3580
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3581
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
3582
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3583
|
+
<span class='kw'>end</span>
|
3584
|
+
|
3585
|
+
<span class='comment'># Normalizes locales for further usage.
|
3586
|
+
</span> <span class='comment'>#
|
3587
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
3588
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
3589
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3590
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
3591
|
+
<span class='kw'>end</span>
|
3592
|
+
|
3593
|
+
<span class='id identifier rubyid_private'>private</span>
|
3594
|
+
|
3595
|
+
<span class='comment'># :nodoc:
|
3596
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3597
|
+
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
3598
|
+
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
3599
|
+
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
|
3600
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
3601
|
+
<span class='kw'>end</span>
|
3602
|
+
|
3603
|
+
<span class='comment'># :nodoc:
|
3604
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3735
3605
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
3736
3606
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
3737
3607
|
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>DateTime</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_value'>value</span>
|
@@ -3744,19 +3614,13 @@ are specified for multiple locales.</p>
|
|
3744
3614
|
<span class='id identifier rubyid_rv'>rv</span>
|
3745
3615
|
<span class='kw'>end</span>
|
3746
3616
|
|
3747
|
-
<span class='comment'>#
|
3748
|
-
</span> <span class='comment'>#
|
3749
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
3750
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
3617
|
+
<span class='comment'># :nodoc:
|
3751
3618
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3752
3619
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
3753
3620
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
3754
3621
|
<span class='kw'>end</span>
|
3755
3622
|
|
3756
|
-
<span class='comment'>#
|
3757
|
-
</span> <span class='comment'>#
|
3758
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
3759
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
3623
|
+
<span class='comment'># :nodoc:
|
3760
3624
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3761
3625
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3762
3626
|
|
@@ -3771,53 +3635,15 @@ are specified for multiple locales.</p>
|
|
3771
3635
|
<span class='kw'>end</span>
|
3772
3636
|
<span class='kw'>end</span>
|
3773
3637
|
|
3774
|
-
<span class='comment'>#
|
3775
|
-
</span> <span class='comment'>#
|
3776
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
3777
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
3638
|
+
<span class='comment'># :nodoc:
|
3778
3639
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3779
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
3640
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
3780
3641
|
<span class='kw'>end</span>
|
3781
3642
|
|
3782
|
-
<span class='comment'>#
|
3783
|
-
</span> <span class='comment'>#
|
3784
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
3785
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
3643
|
+
<span class='comment'># :nodoc:
|
3786
3644
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
3787
3645
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
3788
3646
|
<span class='kw'>end</span>
|
3789
|
-
|
3790
|
-
<span class='comment'># Assigns metadata to a content
|
3791
|
-
</span> <span class='comment'>#
|
3792
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
3793
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
3794
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
3795
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
3796
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
3797
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3798
|
-
<span class='kw'>end</span>
|
3799
|
-
|
3800
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3801
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3802
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
3803
|
-
<span class='kw'>end</span>
|
3804
|
-
|
3805
|
-
<span class='comment'># Extracts locales from metadata.
|
3806
|
-
</span> <span class='comment'>#
|
3807
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
3808
|
-
</span> <span class='comment'># @return [Array] The locales.
|
3809
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3810
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
3811
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3812
|
-
<span class='kw'>end</span>
|
3813
|
-
|
3814
|
-
<span class='comment'># Normalizes locales for further usage.
|
3815
|
-
</span> <span class='comment'>#
|
3816
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
3817
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
3818
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
3819
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
3820
|
-
<span class='kw'>end</span>
|
3821
3647
|
<span class='kw'>end</span></pre>
|
3822
3648
|
</td>
|
3823
3649
|
</tr>
|
@@ -4056,25 +3882,7 @@ multiple locales.</p>
|
|
4056
3882
|
219
|
4057
3883
|
220
|
4058
3884
|
221
|
4059
|
-
222
|
4060
|
-
223
|
4061
|
-
224
|
4062
|
-
225
|
4063
|
-
226
|
4064
|
-
227
|
4065
|
-
228
|
4066
|
-
229
|
4067
|
-
230
|
4068
|
-
231
|
4069
|
-
232
|
4070
|
-
233
|
4071
|
-
234
|
4072
|
-
235
|
4073
|
-
236
|
4074
|
-
237
|
4075
|
-
238
|
4076
|
-
239
|
4077
|
-
240</pre>
|
3885
|
+
222</pre>
|
4078
3886
|
</td>
|
4079
3887
|
<td>
|
4080
3888
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -4102,7 +3910,7 @@ multiple locales.</p>
|
|
4102
3910
|
</span> <span class='comment'>#
|
4103
3911
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
4104
3912
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4105
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
3913
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
4106
3914
|
<span class='kw'>end</span>
|
4107
3915
|
|
4108
3916
|
<span class='comment'># Sets the `title` attribute.
|
@@ -4110,7 +3918,7 @@ multiple locales.</p>
|
|
4110
3918
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4111
3919
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
4112
3920
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
4113
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3921
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4114
3922
|
<span class='kw'>end</span>
|
4115
3923
|
|
4116
3924
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -4118,7 +3926,7 @@ multiple locales.</p>
|
|
4118
3926
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4119
3927
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
4120
3928
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
4121
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3929
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4122
3930
|
<span class='kw'>end</span>
|
4123
3931
|
|
4124
3932
|
<span class='comment'># Sets the `body` attribute.
|
@@ -4133,7 +3941,7 @@ multiple locales.</p>
|
|
4133
3941
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4134
3942
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
4135
3943
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
4136
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
3944
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
4137
3945
|
<span class='kw'>end</span>
|
4138
3946
|
|
4139
3947
|
<span class='comment'># Sets the `more` attribute.
|
@@ -4141,7 +3949,7 @@ multiple locales.</p>
|
|
4141
3949
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4142
3950
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
4143
3951
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
4144
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
3952
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4145
3953
|
<span class='kw'>end</span>
|
4146
3954
|
|
4147
3955
|
<span class='comment'># Sets the `author` attribute.
|
@@ -4151,8 +3959,8 @@ multiple locales.</p>
|
|
4151
3959
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
4152
3960
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
4153
3961
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
4154
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
4155
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3962
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
3963
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4156
3964
|
<span class='kw'>else</span>
|
4157
3965
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
4158
3966
|
<span class='kw'>end</span>
|
@@ -4176,15 +3984,44 @@ multiple locales.</p>
|
|
4176
3984
|
</span> <span class='comment'>#
|
4177
3985
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
4178
3986
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
4179
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
3987
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
4180
3988
|
<span class='kw'>end</span>
|
4181
3989
|
|
4182
|
-
<span class='
|
3990
|
+
<span class='comment'># Assigns metadata to a content
|
3991
|
+
</span> <span class='comment'>#
|
3992
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
3993
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
3994
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
3995
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
3996
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
3997
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
3998
|
+
<span class='kw'>end</span>
|
3999
|
+
|
4000
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4001
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4002
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
4003
|
+
<span class='kw'>end</span>
|
4183
4004
|
|
4184
|
-
<span class='comment'># Extracts
|
4005
|
+
<span class='comment'># Extracts locales from metadata.
|
4185
4006
|
</span> <span class='comment'>#
|
4186
|
-
</span> <span class='comment'># @param
|
4187
|
-
</span> <span class='comment'># @return [
|
4007
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
4008
|
+
</span> <span class='comment'># @return [Array] The locales.
|
4009
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4010
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
4011
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4012
|
+
<span class='kw'>end</span>
|
4013
|
+
|
4014
|
+
<span class='comment'># Normalizes locales for further usage.
|
4015
|
+
</span> <span class='comment'>#
|
4016
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
4017
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
4018
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4019
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
4020
|
+
<span class='kw'>end</span>
|
4021
|
+
|
4022
|
+
<span class='id identifier rubyid_private'>private</span>
|
4023
|
+
|
4024
|
+
<span class='comment'># :nodoc:
|
4188
4025
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4189
4026
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
4190
4027
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -4192,10 +4029,7 @@ multiple locales.</p>
|
|
4192
4029
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
4193
4030
|
<span class='kw'>end</span>
|
4194
4031
|
|
4195
|
-
<span class='comment'>#
|
4196
|
-
</span> <span class='comment'>#
|
4197
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
4198
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
4032
|
+
<span class='comment'># :nodoc:
|
4199
4033
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4200
4034
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
4201
4035
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -4209,19 +4043,13 @@ multiple locales.</p>
|
|
4209
4043
|
<span class='id identifier rubyid_rv'>rv</span>
|
4210
4044
|
<span class='kw'>end</span>
|
4211
4045
|
|
4212
|
-
<span class='comment'>#
|
4213
|
-
</span> <span class='comment'>#
|
4214
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
4215
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
4046
|
+
<span class='comment'># :nodoc:
|
4216
4047
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4217
4048
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
4218
4049
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
4219
4050
|
<span class='kw'>end</span>
|
4220
4051
|
|
4221
|
-
<span class='comment'>#
|
4222
|
-
</span> <span class='comment'>#
|
4223
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
4224
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
4052
|
+
<span class='comment'># :nodoc:
|
4225
4053
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4226
4054
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4227
4055
|
|
@@ -4236,53 +4064,15 @@ multiple locales.</p>
|
|
4236
4064
|
<span class='kw'>end</span>
|
4237
4065
|
<span class='kw'>end</span>
|
4238
4066
|
|
4239
|
-
<span class='comment'>#
|
4240
|
-
</span> <span class='comment'>#
|
4241
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
4242
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
4067
|
+
<span class='comment'># :nodoc:
|
4243
4068
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4244
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
4069
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
4245
4070
|
<span class='kw'>end</span>
|
4246
4071
|
|
4247
|
-
<span class='comment'>#
|
4248
|
-
</span> <span class='comment'>#
|
4249
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
4250
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
4072
|
+
<span class='comment'># :nodoc:
|
4251
4073
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4252
4074
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
4253
4075
|
<span class='kw'>end</span>
|
4254
|
-
|
4255
|
-
<span class='comment'># Assigns metadata to a content
|
4256
|
-
</span> <span class='comment'>#
|
4257
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
4258
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
4259
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
4260
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
4261
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
4262
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4263
|
-
<span class='kw'>end</span>
|
4264
|
-
|
4265
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4266
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4267
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
4268
|
-
<span class='kw'>end</span>
|
4269
|
-
|
4270
|
-
<span class='comment'># Extracts locales from metadata.
|
4271
|
-
</span> <span class='comment'>#
|
4272
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
4273
|
-
</span> <span class='comment'># @return [Array] The locales.
|
4274
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4275
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
4276
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4277
|
-
<span class='kw'>end</span>
|
4278
|
-
|
4279
|
-
<span class='comment'># Normalizes locales for further usage.
|
4280
|
-
</span> <span class='comment'>#
|
4281
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
4282
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
4283
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4284
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
4285
|
-
<span class='kw'>end</span>
|
4286
4076
|
<span class='kw'>end</span></pre>
|
4287
4077
|
</td>
|
4288
4078
|
</tr>
|
@@ -4519,25 +4309,7 @@ multiple locales.</p>
|
|
4519
4309
|
219
|
4520
4310
|
220
|
4521
4311
|
221
|
4522
|
-
222
|
4523
|
-
223
|
4524
|
-
224
|
4525
|
-
225
|
4526
|
-
226
|
4527
|
-
227
|
4528
|
-
228
|
4529
|
-
229
|
4530
|
-
230
|
4531
|
-
231
|
4532
|
-
232
|
4533
|
-
233
|
4534
|
-
234
|
4535
|
-
235
|
4536
|
-
236
|
4537
|
-
237
|
4538
|
-
238
|
4539
|
-
239
|
4540
|
-
240</pre>
|
4312
|
+
222</pre>
|
4541
4313
|
</td>
|
4542
4314
|
<td>
|
4543
4315
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -4565,7 +4337,7 @@ multiple locales.</p>
|
|
4565
4337
|
</span> <span class='comment'>#
|
4566
4338
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
4567
4339
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4568
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
4340
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
4569
4341
|
<span class='kw'>end</span>
|
4570
4342
|
|
4571
4343
|
<span class='comment'># Sets the `title` attribute.
|
@@ -4573,7 +4345,7 @@ multiple locales.</p>
|
|
4573
4345
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4574
4346
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
4575
4347
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
4576
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4348
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4577
4349
|
<span class='kw'>end</span>
|
4578
4350
|
|
4579
4351
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -4581,7 +4353,7 @@ multiple locales.</p>
|
|
4581
4353
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4582
4354
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
4583
4355
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
4584
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4356
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4585
4357
|
<span class='kw'>end</span>
|
4586
4358
|
|
4587
4359
|
<span class='comment'># Sets the `body` attribute.
|
@@ -4596,7 +4368,7 @@ multiple locales.</p>
|
|
4596
4368
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4597
4369
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
4598
4370
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
4599
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
4371
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
4600
4372
|
<span class='kw'>end</span>
|
4601
4373
|
|
4602
4374
|
<span class='comment'># Sets the `more` attribute.
|
@@ -4604,7 +4376,7 @@ multiple locales.</p>
|
|
4604
4376
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
4605
4377
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
4606
4378
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
4607
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4379
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4608
4380
|
<span class='kw'>end</span>
|
4609
4381
|
|
4610
4382
|
<span class='comment'># Sets the `author` attribute.
|
@@ -4614,8 +4386,8 @@ multiple locales.</p>
|
|
4614
4386
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
4615
4387
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
4616
4388
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
4617
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
4618
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4389
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
4390
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4619
4391
|
<span class='kw'>else</span>
|
4620
4392
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
4621
4393
|
<span class='kw'>end</span>
|
@@ -4639,15 +4411,44 @@ multiple locales.</p>
|
|
4639
4411
|
</span> <span class='comment'>#
|
4640
4412
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
4641
4413
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
4642
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
4414
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
4643
4415
|
<span class='kw'>end</span>
|
4644
4416
|
|
4645
|
-
<span class='
|
4417
|
+
<span class='comment'># Assigns metadata to a content
|
4418
|
+
</span> <span class='comment'>#
|
4419
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
4420
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
4421
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
4422
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
4423
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
4424
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4425
|
+
<span class='kw'>end</span>
|
4426
|
+
|
4427
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4428
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4429
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
4430
|
+
<span class='kw'>end</span>
|
4431
|
+
|
4432
|
+
<span class='comment'># Extracts locales from metadata.
|
4433
|
+
</span> <span class='comment'>#
|
4434
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
4435
|
+
</span> <span class='comment'># @return [Array] The locales.
|
4436
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4437
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
4438
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4439
|
+
<span class='kw'>end</span>
|
4646
4440
|
|
4647
|
-
<span class='comment'>#
|
4441
|
+
<span class='comment'># Normalizes locales for further usage.
|
4648
4442
|
</span> <span class='comment'>#
|
4649
|
-
</span> <span class='comment'># @param
|
4650
|
-
</span> <span class='comment'># @return [
|
4443
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
4444
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
4445
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4446
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
4447
|
+
<span class='kw'>end</span>
|
4448
|
+
|
4449
|
+
<span class='id identifier rubyid_private'>private</span>
|
4450
|
+
|
4451
|
+
<span class='comment'># :nodoc:
|
4651
4452
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4652
4453
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
4653
4454
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -4655,10 +4456,7 @@ multiple locales.</p>
|
|
4655
4456
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
4656
4457
|
<span class='kw'>end</span>
|
4657
4458
|
|
4658
|
-
<span class='comment'>#
|
4659
|
-
</span> <span class='comment'>#
|
4660
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
4661
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
4459
|
+
<span class='comment'># :nodoc:
|
4662
4460
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4663
4461
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
4664
4462
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -4672,19 +4470,13 @@ multiple locales.</p>
|
|
4672
4470
|
<span class='id identifier rubyid_rv'>rv</span>
|
4673
4471
|
<span class='kw'>end</span>
|
4674
4472
|
|
4675
|
-
<span class='comment'>#
|
4676
|
-
</span> <span class='comment'>#
|
4677
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
4678
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
4473
|
+
<span class='comment'># :nodoc:
|
4679
4474
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4680
4475
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
4681
4476
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
4682
4477
|
<span class='kw'>end</span>
|
4683
4478
|
|
4684
|
-
<span class='comment'>#
|
4685
|
-
</span> <span class='comment'>#
|
4686
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
4687
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
4479
|
+
<span class='comment'># :nodoc:
|
4688
4480
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4689
4481
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4690
4482
|
|
@@ -4699,53 +4491,15 @@ multiple locales.</p>
|
|
4699
4491
|
<span class='kw'>end</span>
|
4700
4492
|
<span class='kw'>end</span>
|
4701
4493
|
|
4702
|
-
<span class='comment'>#
|
4703
|
-
</span> <span class='comment'>#
|
4704
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
4705
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
4494
|
+
<span class='comment'># :nodoc:
|
4706
4495
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4707
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
4496
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
4708
4497
|
<span class='kw'>end</span>
|
4709
4498
|
|
4710
|
-
<span class='comment'>#
|
4711
|
-
</span> <span class='comment'>#
|
4712
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
4713
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
4499
|
+
<span class='comment'># :nodoc:
|
4714
4500
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
4715
4501
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
4716
4502
|
<span class='kw'>end</span>
|
4717
|
-
|
4718
|
-
<span class='comment'># Assigns metadata to a content
|
4719
|
-
</span> <span class='comment'>#
|
4720
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
4721
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
4722
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
4723
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
4724
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
4725
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4726
|
-
<span class='kw'>end</span>
|
4727
|
-
|
4728
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4729
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4730
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
4731
|
-
<span class='kw'>end</span>
|
4732
|
-
|
4733
|
-
<span class='comment'># Extracts locales from metadata.
|
4734
|
-
</span> <span class='comment'>#
|
4735
|
-
</span> <span class='comment'># @param locales [String] The list of locales.
|
4736
|
-
</span> <span class='comment'># @return [Array] The locales.
|
4737
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4738
|
-
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
4739
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4740
|
-
<span class='kw'>end</span>
|
4741
|
-
|
4742
|
-
<span class='comment'># Normalizes locales for further usage.
|
4743
|
-
</span> <span class='comment'>#
|
4744
|
-
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
4745
|
-
</span> <span class='comment'># @return [Array] The normalized locales.
|
4746
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4747
|
-
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
4748
|
-
<span class='kw'>end</span>
|
4749
4503
|
<span class='kw'>end</span></pre>
|
4750
4504
|
</td>
|
4751
4505
|
</tr>
|
@@ -4982,25 +4736,7 @@ multiple locales.</p>
|
|
4982
4736
|
219
|
4983
4737
|
220
|
4984
4738
|
221
|
4985
|
-
222
|
4986
|
-
223
|
4987
|
-
224
|
4988
|
-
225
|
4989
|
-
226
|
4990
|
-
227
|
4991
|
-
228
|
4992
|
-
229
|
4993
|
-
230
|
4994
|
-
231
|
4995
|
-
232
|
4996
|
-
233
|
4997
|
-
234
|
4998
|
-
235
|
4999
|
-
236
|
5000
|
-
237
|
5001
|
-
238
|
5002
|
-
239
|
5003
|
-
240</pre>
|
4739
|
+
222</pre>
|
5004
4740
|
</td>
|
5005
4741
|
<td>
|
5006
4742
|
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 36</span>
|
@@ -5028,7 +4764,7 @@ multiple locales.</p>
|
|
5028
4764
|
</span> <span class='comment'>#
|
5029
4765
|
</span> <span class='comment'># @param value [Array] The new value for the attribute. A empty or "*" will be the default value.
|
5030
4766
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales='>locales=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5031
|
-
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
4767
|
+
<span class='ivar'>@locales</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='rbrace'>}</span>
|
5032
4768
|
<span class='kw'>end</span>
|
5033
4769
|
|
5034
4770
|
<span class='comment'># Sets the `title` attribute.
|
@@ -5036,7 +4772,7 @@ multiple locales.</p>
|
|
5036
4772
|
</span> <span class='comment'># @param new_title [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
5037
4773
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
5038
4774
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_title='>title=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span>
|
5039
|
-
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4775
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_title'>new_title</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_title'>new_title</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
5040
4776
|
<span class='kw'>end</span>
|
5041
4777
|
|
5042
4778
|
<span class='comment'># Sets the `summary` attribute.
|
@@ -5044,7 +4780,7 @@ multiple locales.</p>
|
|
5044
4780
|
</span> <span class='comment'># @param new_summary [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
5045
4781
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
5046
4782
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_summary='>summary=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span>
|
5047
|
-
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4783
|
+
<span class='ivar'>@summary</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_summary'>new_summary</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_summary'>new_summary</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
5048
4784
|
<span class='kw'>end</span>
|
5049
4785
|
|
5050
4786
|
<span class='comment'># Sets the `body` attribute.
|
@@ -5059,7 +4795,7 @@ multiple locales.</p>
|
|
5059
4795
|
</span> <span class='comment'># @param new_tags [Array|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
5060
4796
|
</span> <span class='comment'># A empty or "*" will be the default value. Tags can also be comma-separated.
|
5061
4797
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_tags='>tags=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
5062
|
-
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
4798
|
+
<span class='ivar'>@tags</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_tags'>new_tags</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_new_tags'>new_tags</span><span class='rparen'>)</span>
|
5063
4799
|
<span class='kw'>end</span>
|
5064
4800
|
|
5065
4801
|
<span class='comment'># Sets the `more` attribute.
|
@@ -5067,7 +4803,7 @@ multiple locales.</p>
|
|
5067
4803
|
</span> <span class='comment'># @param new_more [String|Hash] The new value for the attribute. If an Hash, keys must be a string with one or locale separated by commas.
|
5068
4804
|
</span> <span class='comment'># A empty or "*" will be the default value.
|
5069
4805
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_more='>more=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span>
|
5070
|
-
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
4806
|
+
<span class='ivar'>@more</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_more'>new_more</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='comma'>,</span> <span class='label'>default:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>sanitizer:</span> <span class='symbol'>:ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new_more'>new_more</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
5071
4807
|
<span class='kw'>end</span>
|
5072
4808
|
|
5073
4809
|
<span class='comment'># Sets the `author` attribute.
|
@@ -5077,8 +4813,8 @@ multiple locales.</p>
|
|
5077
4813
|
<span class='ivar'>@author</span> <span class='op'>=</span>
|
5078
4814
|
<span class='kw'>if</span> <span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='rparen'>)</span>
|
5079
4815
|
<span class='id identifier rubyid_new_author'>new_author</span>
|
5080
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
5081
|
-
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4816
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='rparen'>)</span>
|
4817
|
+
<span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
5082
4818
|
<span class='kw'>else</span>
|
5083
4819
|
<span class='id identifier rubyid_new_author'>new_author</span> <span class='op'>?</span> <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_new_author'>new_author</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
5084
4820
|
<span class='kw'>end</span>
|
@@ -5102,15 +4838,44 @@ multiple locales.</p>
|
|
5102
4838
|
</span> <span class='comment'>#
|
5103
4839
|
</span> <span class='comment'># @param new_metadata [Hash] The new value for the attribute.
|
5104
4840
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_metadata='>metadata=</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span>
|
5105
|
-
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
4841
|
+
<span class='ivar'>@metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='period'>.</span><span class='id identifier rubyid_ensure_hash'>ensure_hash</span><span class='lparen'>(</span><span class='label'>accesses:</span> <span class='symbol'>:indifferent</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@metadata</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='lbrace'>{</span><span class='label'>raw:</span> <span class='id identifier rubyid_new_metadata'>new_metadata</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
5106
4842
|
<span class='kw'>end</span>
|
5107
4843
|
|
5108
|
-
<span class='
|
4844
|
+
<span class='comment'># Assigns metadata to a content
|
4845
|
+
</span> <span class='comment'>#
|
4846
|
+
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
4847
|
+
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
4848
|
+
</span> <span class='comment'># @return [Content] The content with metadata.
|
4849
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
4850
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
4851
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4852
|
+
<span class='kw'>end</span>
|
5109
4853
|
|
5110
|
-
|
4854
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4855
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
4856
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
4857
|
+
<span class='kw'>end</span>
|
4858
|
+
|
4859
|
+
<span class='comment'># Extracts locales from metadata.
|
4860
|
+
</span> <span class='comment'>#
|
4861
|
+
</span> <span class='comment'># @param locales [String] The list of locales.
|
4862
|
+
</span> <span class='comment'># @return [Array] The locales.
|
4863
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4864
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
4865
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4866
|
+
<span class='kw'>end</span>
|
4867
|
+
|
4868
|
+
<span class='comment'># Normalizes locales for further usage.
|
5111
4869
|
</span> <span class='comment'>#
|
5112
|
-
</span> <span class='comment'># @param
|
5113
|
-
</span> <span class='comment'># @return [
|
4870
|
+
</span> <span class='comment'># @param locales [Array] The locales to normalize.
|
4871
|
+
</span> <span class='comment'># @return [Array] The normalized locales.
|
4872
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
4873
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
4874
|
+
<span class='kw'>end</span>
|
4875
|
+
|
4876
|
+
<span class='id identifier rubyid_private'>private</span>
|
4877
|
+
|
4878
|
+
<span class='comment'># :nodoc:
|
5114
4879
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_extract_datetime'>extract_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5115
4880
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
|
5116
4881
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
@@ -5118,10 +4883,7 @@ multiple locales.</p>
|
|
5118
4883
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>InvalidDate</span>
|
5119
4884
|
<span class='kw'>end</span>
|
5120
4885
|
|
5121
|
-
<span class='comment'>#
|
5122
|
-
</span> <span class='comment'>#
|
5123
|
-
</span> <span class='comment'># @param value [String|DateTime|Fixnum] The value to parse.
|
5124
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
4886
|
+
<span class='comment'># :nodoc:
|
5125
4887
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime'>parse_datetime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5126
4888
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span>
|
5127
4889
|
<span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
@@ -5135,19 +4897,13 @@ multiple locales.</p>
|
|
5135
4897
|
<span class='id identifier rubyid_rv'>rv</span>
|
5136
4898
|
<span class='kw'>end</span>
|
5137
4899
|
|
5138
|
-
<span class='comment'>#
|
5139
|
-
</span> <span class='comment'>#
|
5140
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
5141
|
-
</span> <span class='comment'># @return [Float|Fixnum] The extracted value.
|
4900
|
+
<span class='comment'># :nodoc:
|
5142
4901
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_number'>parse_datetime_number</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5143
4902
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span>
|
5144
4903
|
<span class='id identifier rubyid_number'>number</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_number'>number</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
5145
4904
|
<span class='kw'>end</span>
|
5146
4905
|
|
5147
|
-
<span class='comment'>#
|
5148
|
-
</span> <span class='comment'>#
|
5149
|
-
</span> <span class='comment'># @param value [String] The value to parse.
|
5150
|
-
</span> <span class='comment'># @return [DateTime] The extracted value.
|
4906
|
+
<span class='comment'># :nodoc:
|
5151
4907
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_datetime_string'>parse_datetime_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5152
4908
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
5153
4909
|
|
@@ -5162,68 +4918,293 @@ multiple locales.</p>
|
|
5162
4918
|
<span class='kw'>end</span>
|
5163
4919
|
<span class='kw'>end</span>
|
5164
4920
|
|
5165
|
-
<span class='comment'>#
|
5166
|
-
</span> <span class='comment'>#
|
5167
|
-
</span> <span class='comment'># @param value [String|Array] The string or array to parse.
|
5168
|
-
</span> <span class='comment'># @return [Array] The list of tags.
|
4921
|
+
<span class='comment'># :nodoc:
|
5169
4922
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_tags'>parse_tags</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5170
|
-
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='
|
4923
|
+
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
5171
4924
|
<span class='kw'>end</span>
|
5172
4925
|
|
5173
|
-
<span class='comment'>#
|
5174
|
-
</span> <span class='comment'>#
|
5175
|
-
</span> <span class='comment'># @param value [Object] The object to check.
|
5176
|
-
</span> <span class='comment'># @return [Boolean] `true` if value is an Hash, `false` otherwise
|
4926
|
+
<span class='comment'># :nodoc:
|
5177
4927
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_hash?'>hash?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
5178
4928
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
5179
4929
|
<span class='kw'>end</span>
|
4930
|
+
<span class='kw'>end</span></pre>
|
4931
|
+
</td>
|
4932
|
+
</tr>
|
4933
|
+
</table>
|
4934
|
+
</div>
|
4935
|
+
|
4936
|
+
</div>
|
5180
4937
|
|
5181
|
-
<span class='comment'># Assigns metadata to a content
|
5182
|
-
</span> <span class='comment'>#
|
5183
|
-
</span> <span class='comment'># @param content [Content] The content to manipulate.
|
5184
|
-
</span> <span class='comment'># @param metadata [Hash] The metadata to assign.
|
5185
|
-
</span> <span class='comment'># @return [Content] The content with metadata.
|
5186
|
-
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
5187
|
-
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
5188
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
5189
|
-
<span class='kw'>end</span>
|
5190
4938
|
|
5191
|
-
|
5192
|
-
<
|
5193
|
-
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
5194
|
-
<span class='kw'>end</span>
|
4939
|
+
<div id="class_method_details" class="method_details_list">
|
4940
|
+
<h2>Class Method Details</h2>
|
5195
4941
|
|
5196
|
-
|
5197
|
-
|
5198
|
-
|
5199
|
-
|
5200
|
-
|
5201
|
-
|
5202
|
-
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
5203
|
-
<span class='kw'>end</span>
|
4942
|
+
|
4943
|
+
<div class="method_details first">
|
4944
|
+
<h3 class="signature first" id="assign_metadata-class_method">
|
4945
|
+
|
4946
|
+
+ (<tt><span class='object_link'><a href="" title="Mbrao::Content (class)">Content</a></span></tt>) <strong>assign_metadata</strong>(content, metadata)
|
4947
|
+
|
5204
4948
|
|
5205
|
-
|
5206
|
-
|
5207
|
-
|
5208
|
-
</
|
5209
|
-
|
5210
|
-
<
|
4949
|
+
|
4950
|
+
|
4951
|
+
|
4952
|
+
</h3><div class="docstring">
|
4953
|
+
<div class="discussion">
|
4954
|
+
<p>Assigns metadata to a content</p>
|
4955
|
+
|
4956
|
+
|
4957
|
+
</div>
|
4958
|
+
</div>
|
4959
|
+
<div class="tags">
|
4960
|
+
<p class="tag_title">Parameters:</p>
|
4961
|
+
<ul class="param">
|
4962
|
+
|
4963
|
+
<li>
|
4964
|
+
|
4965
|
+
<span class='name'>content</span>
|
4966
|
+
|
4967
|
+
|
4968
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Mbrao::Content (class)">Content</a></span></tt>)</span>
|
4969
|
+
|
4970
|
+
|
4971
|
+
|
4972
|
+
—
|
4973
|
+
<div class='inline'><p>The content to manipulate.</p>
|
4974
|
+
</div>
|
4975
|
+
|
4976
|
+
</li>
|
4977
|
+
|
4978
|
+
<li>
|
4979
|
+
|
4980
|
+
<span class='name'>metadata</span>
|
4981
|
+
|
4982
|
+
|
4983
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
4984
|
+
|
4985
|
+
|
4986
|
+
|
4987
|
+
—
|
4988
|
+
<div class='inline'><p>The metadata to assign.</p>
|
4989
|
+
</div>
|
4990
|
+
|
4991
|
+
</li>
|
4992
|
+
|
4993
|
+
</ul>
|
4994
|
+
|
4995
|
+
<p class="tag_title">Returns:</p>
|
4996
|
+
<ul class="return">
|
4997
|
+
|
4998
|
+
<li>
|
4999
|
+
|
5000
|
+
|
5001
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Mbrao::Content (class)">Content</a></span></tt>)</span>
|
5002
|
+
|
5003
|
+
|
5004
|
+
|
5005
|
+
—
|
5006
|
+
<div class='inline'><p>The content with metadata.</p>
|
5007
|
+
</div>
|
5008
|
+
|
5009
|
+
</li>
|
5010
|
+
|
5011
|
+
</ul>
|
5012
|
+
|
5013
|
+
</div><table class="source_code">
|
5014
|
+
<tr>
|
5015
|
+
<td>
|
5016
|
+
<pre class="lines">
|
5017
|
+
|
5018
|
+
|
5019
|
+
141
|
5020
|
+
142
|
5021
|
+
143
|
5022
|
+
144
|
5023
|
+
145
|
5024
|
+
146
|
5025
|
+
147
|
5026
|
+
148
|
5027
|
+
149</pre>
|
5028
|
+
</td>
|
5029
|
+
<td>
|
5030
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 141</span>
|
5031
|
+
|
5032
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_assign_metadata'>assign_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
5033
|
+
<span class='lbracket'>[</span><span class='symbol'>:uid</span><span class='comma'>,</span> <span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:summary</span><span class='comma'>,</span> <span class='symbol'>:tags</span><span class='comma'>,</span> <span class='symbol'>:more</span><span class='comma'>,</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_field'>field</span><span class='op'>|</span>
|
5034
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field'>field</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
5211
5035
|
<span class='kw'>end</span>
|
5036
|
+
|
5037
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_author'>author</span> <span class='op'>=</span> <span class='const'>Mbrao</span><span class='op'>::</span><span class='const'>Author</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:author</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
5038
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:locales</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
5039
|
+
<span class='id identifier rubyid_content'>content</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span>
|
5212
5040
|
<span class='kw'>end</span></pre>
|
5213
5041
|
</td>
|
5214
5042
|
</tr>
|
5215
5043
|
</table>
|
5216
5044
|
</div>
|
5217
5045
|
|
5046
|
+
<div class="method_details ">
|
5047
|
+
<h3 class="signature " id="extract_locales-class_method">
|
5048
|
+
|
5049
|
+
+ (<tt>Array</tt>) <strong>extract_locales</strong>(locales)
|
5050
|
+
|
5051
|
+
|
5052
|
+
|
5053
|
+
|
5054
|
+
|
5055
|
+
</h3><div class="docstring">
|
5056
|
+
<div class="discussion">
|
5057
|
+
<p>Extracts locales from metadata.</p>
|
5058
|
+
|
5059
|
+
|
5218
5060
|
</div>
|
5061
|
+
</div>
|
5062
|
+
<div class="tags">
|
5063
|
+
<p class="tag_title">Parameters:</p>
|
5064
|
+
<ul class="param">
|
5065
|
+
|
5066
|
+
<li>
|
5067
|
+
|
5068
|
+
<span class='name'>locales</span>
|
5069
|
+
|
5070
|
+
|
5071
|
+
<span class='type'>(<tt>String</tt>)</span>
|
5072
|
+
|
5073
|
+
|
5074
|
+
|
5075
|
+
—
|
5076
|
+
<div class='inline'><p>The list of locales.</p>
|
5077
|
+
</div>
|
5078
|
+
|
5079
|
+
</li>
|
5080
|
+
|
5081
|
+
</ul>
|
5082
|
+
|
5083
|
+
<p class="tag_title">Returns:</p>
|
5084
|
+
<ul class="return">
|
5085
|
+
|
5086
|
+
<li>
|
5087
|
+
|
5088
|
+
|
5089
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
5090
|
+
|
5091
|
+
|
5092
|
+
|
5093
|
+
—
|
5094
|
+
<div class='inline'><p>The locales.</p>
|
5095
|
+
</div>
|
5096
|
+
|
5097
|
+
</li>
|
5098
|
+
|
5099
|
+
</ul>
|
5100
|
+
|
5101
|
+
</div><table class="source_code">
|
5102
|
+
<tr>
|
5103
|
+
<td>
|
5104
|
+
<pre class="lines">
|
5105
|
+
|
5106
|
+
|
5107
|
+
155
|
5108
|
+
156
|
5109
|
+
157
|
5110
|
+
158</pre>
|
5111
|
+
</td>
|
5112
|
+
<td>
|
5113
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 155</span>
|
5114
|
+
|
5115
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extract_locales'>extract_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
5116
|
+
<span class='id identifier rubyid_locales'>locales</span> <span class='op'>=</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*,\s*</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Array</span><span class='rparen'>)</span>
|
5117
|
+
<span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
5118
|
+
<span class='kw'>end</span></pre>
|
5119
|
+
</td>
|
5120
|
+
</tr>
|
5121
|
+
</table>
|
5122
|
+
</div>
|
5123
|
+
|
5124
|
+
<div class="method_details ">
|
5125
|
+
<h3 class="signature " id="normalize_locales-class_method">
|
5126
|
+
|
5127
|
+
+ (<tt>Array</tt>) <strong>normalize_locales</strong>(locales)
|
5128
|
+
|
5129
|
+
|
5130
|
+
|
5131
|
+
|
5132
|
+
|
5133
|
+
</h3><div class="docstring">
|
5134
|
+
<div class="discussion">
|
5135
|
+
<p>Normalizes locales for further usage.</p>
|
5136
|
+
|
5137
|
+
|
5138
|
+
</div>
|
5139
|
+
</div>
|
5140
|
+
<div class="tags">
|
5141
|
+
<p class="tag_title">Parameters:</p>
|
5142
|
+
<ul class="param">
|
5143
|
+
|
5144
|
+
<li>
|
5145
|
+
|
5146
|
+
<span class='name'>locales</span>
|
5147
|
+
|
5148
|
+
|
5149
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
5150
|
+
|
5151
|
+
|
5152
|
+
|
5153
|
+
—
|
5154
|
+
<div class='inline'><p>The locales to normalize.</p>
|
5155
|
+
</div>
|
5156
|
+
|
5157
|
+
</li>
|
5158
|
+
|
5159
|
+
</ul>
|
5160
|
+
|
5161
|
+
<p class="tag_title">Returns:</p>
|
5162
|
+
<ul class="return">
|
5163
|
+
|
5164
|
+
<li>
|
5165
|
+
|
5166
|
+
|
5167
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
5168
|
+
|
5169
|
+
|
5170
|
+
|
5171
|
+
—
|
5172
|
+
<div class='inline'><p>The normalized locales.</p>
|
5173
|
+
</div>
|
5174
|
+
|
5175
|
+
</li>
|
5176
|
+
|
5177
|
+
</ul>
|
5178
|
+
|
5179
|
+
</div><table class="source_code">
|
5180
|
+
<tr>
|
5181
|
+
<td>
|
5182
|
+
<pre class="lines">
|
5183
|
+
|
5184
|
+
|
5185
|
+
164
|
5186
|
+
165
|
5187
|
+
166</pre>
|
5188
|
+
</td>
|
5189
|
+
<td>
|
5190
|
+
<pre class="code"><span class="info file"># File 'lib/mbrao/content.rb', line 164</span>
|
5219
5191
|
|
5192
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_locales'>normalize_locales</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='rparen'>)</span>
|
5193
|
+
<span class='id identifier rubyid_locales'>locales</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:ensure_string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:strip</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
5194
|
+
<span class='kw'>end</span></pre>
|
5195
|
+
</td>
|
5196
|
+
</tr>
|
5197
|
+
</table>
|
5198
|
+
</div>
|
5199
|
+
|
5200
|
+
</div>
|
5220
5201
|
|
5221
5202
|
</div>
|
5222
5203
|
|
5223
5204
|
<div id="footer">
|
5224
|
-
Generated on
|
5205
|
+
Generated on Tue Mar 29 12:47:22 2016 by
|
5225
5206
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
5226
|
-
0.8.7.
|
5207
|
+
0.8.7.6 (ruby-2.3.0).
|
5227
5208
|
</div>
|
5228
5209
|
|
5229
5210
|
</body>
|