doing 2.1.13 → 2.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.irbrc +1 -0
  3. data/.yardoc/checksums +14 -12
  4. data/.yardoc/object_types +0 -0
  5. data/.yardoc/objects/root.dat +0 -0
  6. data/CHANGELOG.md +76 -0
  7. data/Gemfile.lock +9 -2
  8. data/README.md +56 -19
  9. data/bin/doing +218 -68
  10. data/docs/doc/Array.html +117 -3
  11. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  12. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  13. data/docs/doc/BooleanTermParser/Query.html +1 -1
  14. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  15. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  16. data/docs/doc/BooleanTermParser.html +1 -1
  17. data/docs/doc/Doing/Color.html +6 -2
  18. data/docs/doc/Doing/Completion.html +1 -1
  19. data/docs/doc/Doing/Configuration.html +8 -4
  20. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  21. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  22. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  23. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  24. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  25. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  26. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  27. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  28. data/docs/doc/Doing/Errors.html +1 -1
  29. data/docs/doc/Doing/Hooks.html +1 -1
  30. data/docs/doc/Doing/Item.html +340 -14
  31. data/docs/doc/Doing/Items.html +2 -2
  32. data/docs/doc/Doing/LogAdapter.html +1 -1
  33. data/docs/doc/Doing/Note.html +2 -2
  34. data/docs/doc/Doing/Pager.html +1 -1
  35. data/docs/doc/Doing/Plugins.html +1 -1
  36. data/docs/doc/Doing/Prompt.html +103 -1
  37. data/docs/doc/Doing/Section.html +1 -1
  38. data/docs/doc/Doing/TemplateString.html +2 -2
  39. data/docs/doc/Doing/Util/Backup.html +1 -1
  40. data/docs/doc/Doing/Util.html +1 -1
  41. data/docs/doc/Doing/WWID.html +77 -71
  42. data/docs/doc/Doing.html +3 -3
  43. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  44. data/docs/doc/GLI/Commands.html +1 -1
  45. data/docs/doc/GLI.html +1 -1
  46. data/docs/doc/Hash.html +1 -1
  47. data/docs/doc/Numeric.html +279 -0
  48. data/docs/doc/PhraseParser/Operator.html +1 -1
  49. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  50. data/docs/doc/PhraseParser/Query.html +1 -1
  51. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  52. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  53. data/docs/doc/PhraseParser/TermClause.html +1 -1
  54. data/docs/doc/PhraseParser.html +1 -1
  55. data/docs/doc/Status.html +1 -1
  56. data/docs/doc/String.html +997 -118
  57. data/docs/doc/Symbol.html +1 -1
  58. data/docs/doc/Time.html +1 -1
  59. data/docs/doc/_index.html +14 -9
  60. data/docs/doc/class_list.html +1 -1
  61. data/docs/doc/file.README.html +41 -15
  62. data/docs/doc/index.html +41 -15
  63. data/docs/doc/method_list.html +449 -305
  64. data/docs/doc/top-level-namespace.html +2 -2
  65. data/docs/index.md +56 -19
  66. data/doing.gemspec +2 -0
  67. data/doing.rdoc +76 -9
  68. data/example_plugin.rb +2 -4
  69. data/lib/completion/_doing.zsh +17 -17
  70. data/lib/completion/doing.bash +25 -25
  71. data/lib/completion/doing.fish +18 -6
  72. data/lib/doing/array_chronify.rb +57 -0
  73. data/lib/doing/colors.rb +4 -0
  74. data/lib/doing/configuration.rb +6 -2
  75. data/lib/doing/item.rb +108 -0
  76. data/lib/doing/log_adapter.rb +3 -3
  77. data/lib/doing/numeric_chronify.rb +40 -0
  78. data/lib/doing/plugins/export/dayone_export.rb +1 -1
  79. data/lib/doing/plugins/export/json_export.rb +2 -2
  80. data/lib/doing/plugins/export/template_export.rb +49 -90
  81. data/lib/doing/plugins/import/calendar_import.rb +13 -1
  82. data/lib/doing/plugins/import/doing_import.rb +12 -1
  83. data/lib/doing/plugins/import/timing_import.rb +13 -1
  84. data/lib/doing/prompt.rb +65 -1
  85. data/lib/doing/string.rb +137 -33
  86. data/lib/doing/string_chronify.rb +112 -14
  87. data/lib/doing/template_string.rb +1 -1
  88. data/lib/doing/time.rb +6 -6
  89. data/lib/doing/util_backup.rb +1 -1
  90. data/lib/doing/version.rb +1 -1
  91. data/lib/doing/wwid.rb +117 -106
  92. data/lib/doing.rb +36 -31
  93. data/lib/examples/plugins/say_export.rb +1 -4
  94. metadata +46 -2
data/docs/doc/String.html CHANGED
@@ -144,7 +144,7 @@
144
144
  <li class="public ">
145
145
  <span class="summary_signature">
146
146
 
147
- <a href="#add_at-instance_method" title="#add_at (instance method)">#<strong>add_at</strong> &#x21d2; Object </a>
147
+ <a href="#add_at-instance_method" title="#add_at (instance method)">#<strong>add_at</strong> &#x21d2; String </a>
148
148
 
149
149
 
150
150
 
@@ -158,7 +158,8 @@
158
158
 
159
159
 
160
160
 
161
- <span class="summary_desc"><div class='inline'></div></span>
161
+ <span class="summary_desc"><div class='inline'><p>Add @ prefix to string if needed, maintains +/- prefix.</p>
162
+ </div></span>
162
163
 
163
164
  </li>
164
165
 
@@ -166,7 +167,7 @@
166
167
  <li class="public ">
167
168
  <span class="summary_signature">
168
169
 
169
- <a href="#add_tags-instance_method" title="#add_tags (instance method)">#<strong>add_tags</strong>(tags, remove: false) &#x21d2; Object </a>
170
+ <a href="#add_tags-instance_method" title="#add_tags (instance method)">#<strong>add_tags</strong>(tags, remove: false) &#x21d2; String </a>
170
171
 
171
172
 
172
173
 
@@ -180,7 +181,8 @@
180
181
 
181
182
 
182
183
 
183
- <span class="summary_desc"><div class='inline'></div></span>
184
+ <span class="summary_desc"><div class='inline'><p>The tagged string.</p>
185
+ </div></span>
184
186
 
185
187
  </li>
186
188
 
@@ -361,7 +363,8 @@
361
363
 
362
364
 
363
365
 
364
- <span class="summary_desc"><div class='inline'></div></span>
366
+ <span class="summary_desc"><div class='inline'><p>Remove duplicate tags, leaving only first occurrence.</p>
367
+ </div></span>
365
368
 
366
369
  </li>
367
370
 
@@ -383,9 +386,75 @@
383
386
 
384
387
 
385
388
 
386
- <span class="summary_desc"><div class='inline'><p>Remove duplicate tags, leaving only first occurrence.</p>
389
+ <span class="summary_desc"><div class='inline'></div></span>
390
+
391
+ </li>
392
+
393
+
394
+ <li class="public ">
395
+ <span class="summary_signature">
396
+
397
+ <a href="#expand_date_tags-instance_method" title="#expand_date_tags (instance method)">#<strong>expand_date_tags</strong>(additional_tags = nil) &#x21d2; Object </a>
398
+
399
+
400
+
401
+ </span>
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+ <span class="summary_desc"><div class='inline'><p>Convert (chronify) natural language dates within configured date tags (tags whose value is expected to be a date).</p>
387
412
  </div></span>
388
413
 
414
+ </li>
415
+
416
+
417
+ <li class="public ">
418
+ <span class="summary_signature">
419
+
420
+ <a href="#highlight_search-instance_method" title="#highlight_search (instance method)">#<strong>highlight_search</strong>(search, distance: nil, negate: false, case_type: nil) &#x21d2; Object </a>
421
+
422
+
423
+
424
+ </span>
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+ <span class="summary_desc"><div class='inline'></div></span>
435
+
436
+ </li>
437
+
438
+
439
+ <li class="public ">
440
+ <span class="summary_signature">
441
+
442
+ <a href="#highlight_search!-instance_method" title="#highlight_search! (instance method)">#<strong>highlight_search!</strong>(search, distance: nil, negate: false, case_type: nil) &#x21d2; Object </a>
443
+
444
+
445
+
446
+ </span>
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+ <span class="summary_desc"><div class='inline'></div></span>
457
+
389
458
  </li>
390
459
 
391
460
 
@@ -460,7 +529,7 @@
460
529
  <li class="public ">
461
530
  <span class="summary_signature">
462
531
 
463
- <a href="#is_rx%3F-instance_method" title="#is_rx? (instance method)">#<strong>is_rx?</strong> &#x21d2; Boolean </a>
532
+ <a href="#ignore_case-instance_method" title="#ignore_case (instance method)">#<strong>ignore_case</strong>(search, case_type) &#x21d2; Object </a>
464
533
 
465
534
 
466
535
 
@@ -474,8 +543,7 @@
474
543
 
475
544
 
476
545
 
477
- <span class="summary_desc"><div class='inline'><p>Determines if receiver is surrounded by slashes or starts with single quote.</p>
478
- </div></span>
546
+ <span class="summary_desc"><div class='inline'></div></span>
479
547
 
480
548
  </li>
481
549
 
@@ -483,7 +551,7 @@
483
551
  <li class="public ">
484
552
  <span class="summary_signature">
485
553
 
486
- <a href="#last_color-instance_method" title="#last_color (instance method)">#<strong>last_color</strong> &#x21d2; String </a>
554
+ <a href="#is_rx%3F-instance_method" title="#is_rx? (instance method)">#<strong>is_rx?</strong> &#x21d2; Boolean </a>
487
555
 
488
556
 
489
557
 
@@ -497,7 +565,7 @@
497
565
 
498
566
 
499
567
 
500
- <span class="summary_desc"><div class='inline'><p>Returns the last escape sequence from a string.</p>
568
+ <span class="summary_desc"><div class='inline'><p>Determines if receiver is surrounded by slashes or starts with single quote.</p>
501
569
  </div></span>
502
570
 
503
571
  </li>
@@ -506,7 +574,7 @@
506
574
  <li class="public ">
507
575
  <span class="summary_signature">
508
576
 
509
- <a href="#link_urls-instance_method" title="#link_urls (instance method)">#<strong>link_urls</strong>(**opt) &#x21d2; Object </a>
577
+ <a href="#last_color-instance_method" title="#last_color (instance method)">#<strong>last_color</strong> &#x21d2; String </a>
510
578
 
511
579
 
512
580
 
@@ -520,7 +588,8 @@
520
588
 
521
589
 
522
590
 
523
- <span class="summary_desc"><div class='inline'></div></span>
591
+ <span class="summary_desc"><div class='inline'><p>Returns the last escape sequence from a string.</p>
592
+ </div></span>
524
593
 
525
594
  </li>
526
595
 
@@ -528,7 +597,7 @@
528
597
  <li class="public ">
529
598
  <span class="summary_signature">
530
599
 
531
- <a href="#link_urls!-instance_method" title="#link_urls! (instance method)">#<strong>link_urls!</strong>(**opt) &#x21d2; Object </a>
600
+ <a href="#link_urls-instance_method" title="#link_urls (instance method)">#<strong>link_urls</strong>(**opt) &#x21d2; Object </a>
532
601
 
533
602
 
534
603
 
@@ -551,7 +620,7 @@
551
620
  <li class="public ">
552
621
  <span class="summary_signature">
553
622
 
554
- <a href="#normalize_age-instance_method" title="#normalize_age (instance method)">#<strong>normalize_age</strong>(default = :newest) &#x21d2; Object </a>
623
+ <a href="#link_urls!-instance_method" title="#link_urls! (instance method)">#<strong>link_urls!</strong>(**opt) &#x21d2; Object </a>
555
624
 
556
625
 
557
626
 
@@ -573,7 +642,7 @@
573
642
  <li class="public ">
574
643
  <span class="summary_signature">
575
644
 
576
- <a href="#normalize_age!-instance_method" title="#normalize_age! (instance method)">#<strong>normalize_age!</strong>(default = :newest) &#x21d2; Symbol </a>
645
+ <a href="#normalize_age-instance_method" title="#normalize_age (instance method)">#<strong>normalize_age</strong>(default = :newest) &#x21d2; Symbol </a>
577
646
 
578
647
 
579
648
 
@@ -596,7 +665,7 @@
596
665
  <li class="public ">
597
666
  <span class="summary_signature">
598
667
 
599
- <a href="#normalize_bool-instance_method" title="#normalize_bool (instance method)">#<strong>normalize_bool</strong>(default = :and) &#x21d2; Object </a>
668
+ <a href="#normalize_age!-instance_method" title="#normalize_age! (instance method)">#<strong>normalize_age!</strong>(default = :newest) &#x21d2; Object </a>
600
669
 
601
670
 
602
671
 
@@ -618,7 +687,7 @@
618
687
  <li class="public ">
619
688
  <span class="summary_signature">
620
689
 
621
- <a href="#normalize_bool!-instance_method" title="#normalize_bool! (instance method)">#<strong>normalize_bool!</strong>(default = :and) &#x21d2; Object </a>
690
+ <a href="#normalize_bool-instance_method" title="#normalize_bool (instance method)">#<strong>normalize_bool</strong>(default = :and) &#x21d2; Object </a>
622
691
 
623
692
 
624
693
 
@@ -641,7 +710,7 @@
641
710
  <li class="public ">
642
711
  <span class="summary_signature">
643
712
 
644
- <a href="#normalize_case-instance_method" title="#normalize_case (instance method)">#<strong>normalize_case</strong>(default = :smart) &#x21d2; Object </a>
713
+ <a href="#normalize_bool!-instance_method" title="#normalize_bool! (instance method)">#<strong>normalize_bool!</strong>(default = :and) &#x21d2; Object </a>
645
714
 
646
715
 
647
716
 
@@ -663,7 +732,7 @@
663
732
  <li class="public ">
664
733
  <span class="summary_signature">
665
734
 
666
- <a href="#normalize_case!-instance_method" title="#normalize_case! (instance method)">#<strong>normalize_case!</strong> &#x21d2; Object </a>
735
+ <a href="#normalize_case-instance_method" title="#normalize_case (instance method)">#<strong>normalize_case</strong>(default = :smart) &#x21d2; Object </a>
667
736
 
668
737
 
669
738
 
@@ -686,7 +755,7 @@
686
755
  <li class="public ">
687
756
  <span class="summary_signature">
688
757
 
689
- <a href="#normalize_matching-instance_method" title="#normalize_matching (instance method)">#<strong>normalize_matching</strong>(default = :pattern) &#x21d2; Object </a>
758
+ <a href="#normalize_case!-instance_method" title="#normalize_case! (instance method)">#<strong>normalize_case!</strong> &#x21d2; Object </a>
690
759
 
691
760
 
692
761
 
@@ -708,7 +777,7 @@
708
777
  <li class="public ">
709
778
  <span class="summary_signature">
710
779
 
711
- <a href="#normalize_matching!-instance_method" title="#normalize_matching! (instance method)">#<strong>normalize_matching!</strong>(default = :pattern) &#x21d2; Object </a>
780
+ <a href="#normalize_matching-instance_method" title="#normalize_matching (instance method)">#<strong>normalize_matching</strong>(default = :pattern) &#x21d2; Object </a>
712
781
 
713
782
 
714
783
 
@@ -731,7 +800,7 @@
731
800
  <li class="public ">
732
801
  <span class="summary_signature">
733
802
 
734
- <a href="#normalize_order-instance_method" title="#normalize_order (instance method)">#<strong>normalize_order</strong>(default = &#39;asc&#39;) &#x21d2; Object </a>
803
+ <a href="#normalize_matching!-instance_method" title="#normalize_matching! (instance method)">#<strong>normalize_matching!</strong>(default = :pattern) &#x21d2; Object </a>
735
804
 
736
805
 
737
806
 
@@ -753,7 +822,7 @@
753
822
  <li class="public ">
754
823
  <span class="summary_signature">
755
824
 
756
- <a href="#normalize_order!-instance_method" title="#normalize_order! (instance method)">#<strong>normalize_order!</strong>(default = &#39;asc&#39;) &#x21d2; String </a>
825
+ <a href="#normalize_order-instance_method" title="#normalize_order (instance method)">#<strong>normalize_order</strong>(default = &#39;asc&#39;) &#x21d2; Object </a>
757
826
 
758
827
 
759
828
 
@@ -767,8 +836,7 @@
767
836
 
768
837
 
769
838
 
770
- <span class="summary_desc"><div class='inline'><p>Convert a sort order string to a qualified type.</p>
771
- </div></span>
839
+ <span class="summary_desc"><div class='inline'></div></span>
772
840
 
773
841
  </li>
774
842
 
@@ -776,7 +844,7 @@
776
844
  <li class="public ">
777
845
  <span class="summary_signature">
778
846
 
779
- <a href="#normalize_trigger-instance_method" title="#normalize_trigger (instance method)">#<strong>normalize_trigger</strong> &#x21d2; Object </a>
847
+ <a href="#normalize_order!-instance_method" title="#normalize_order! (instance method)">#<strong>normalize_order!</strong>(default = &#39;asc&#39;) &#x21d2; String </a>
780
848
 
781
849
 
782
850
 
@@ -790,7 +858,8 @@
790
858
 
791
859
 
792
860
 
793
- <span class="summary_desc"><div class='inline'></div></span>
861
+ <span class="summary_desc"><div class='inline'><p>Convert a sort order string to a qualified type.</p>
862
+ </div></span>
794
863
 
795
864
  </li>
796
865
 
@@ -798,7 +867,7 @@
798
867
  <li class="public ">
799
868
  <span class="summary_signature">
800
869
 
801
- <a href="#normalize_trigger!-instance_method" title="#normalize_trigger! (instance method)">#<strong>normalize_trigger!</strong> &#x21d2; Object </a>
870
+ <a href="#normalize_trigger-instance_method" title="#normalize_trigger (instance method)">#<strong>normalize_trigger</strong> &#x21d2; String </a>
802
871
 
803
872
 
804
873
 
@@ -812,7 +881,8 @@
812
881
 
813
882
 
814
883
 
815
- <span class="summary_desc"><div class='inline'></div></span>
884
+ <span class="summary_desc"><div class='inline'><p>Adds ?: to any parentheticals in a regular expression to avoid match groups.</p>
885
+ </div></span>
816
886
 
817
887
  </li>
818
888
 
@@ -820,7 +890,7 @@
820
890
  <li class="public ">
821
891
  <span class="summary_signature">
822
892
 
823
- <a href="#pluralize-instance_method" title="#pluralize (instance method)">#<strong>pluralize</strong>(number) &#x21d2; Object </a>
893
+ <a href="#normalize_trigger!-instance_method" title="#normalize_trigger! (instance method)">#<strong>normalize_trigger!</strong> &#x21d2; Object </a>
824
894
 
825
895
 
826
896
 
@@ -902,7 +972,8 @@
902
972
 
903
973
 
904
974
 
905
- <span class="summary_desc"><div class='inline'></div></span>
975
+ <span class="summary_desc"><div class='inline'><p>Convert a string value to an appropriate type.</p>
976
+ </div></span>
906
977
 
907
978
  </li>
908
979
 
@@ -926,6 +997,29 @@
926
997
 
927
998
  <span class="summary_desc"><div class='inline'></div></span>
928
999
 
1000
+ </li>
1001
+
1002
+
1003
+ <li class="public ">
1004
+ <span class="summary_signature">
1005
+
1006
+ <a href="#split_date_range-instance_method" title="#split_date_range (instance method)">#<strong>split_date_range</strong> &#x21d2; Array&lt;DateTime&gt; </a>
1007
+
1008
+
1009
+
1010
+ </span>
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+ <span class="summary_desc"><div class='inline'><p>Splits a range string and returns an array of DateTime objects as [start, end].</p>
1021
+ </div></span>
1022
+
929
1023
  </li>
930
1024
 
931
1025
 
@@ -972,6 +1066,74 @@
972
1066
  <span class="summary_desc"><div class='inline'><p>Add, rename, or remove a tag in place.</p>
973
1067
  </div></span>
974
1068
 
1069
+ </li>
1070
+
1071
+
1072
+ <li class="public ">
1073
+ <span class="summary_signature">
1074
+
1075
+ <a href="#time_string-instance_method" title="#time_string (instance method)">#<strong>time_string</strong>(format: :dhm) &#x21d2; Object </a>
1076
+
1077
+
1078
+
1079
+ </span>
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+ <span class="summary_desc"><div class='inline'><p>Convert DD:HH:MM to a natural language string.</p>
1090
+ </div></span>
1091
+
1092
+ </li>
1093
+
1094
+
1095
+ <li class="public ">
1096
+ <span class="summary_signature">
1097
+
1098
+ <a href="#to_p-instance_method" title="#to_p (instance method)">#<strong>to_p</strong>(number) &#x21d2; Object </a>
1099
+
1100
+
1101
+
1102
+ </span>
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+ <span class="summary_desc"><div class='inline'><p>Pluralize a string based on quantity.</p>
1113
+ </div></span>
1114
+
1115
+ </li>
1116
+
1117
+
1118
+ <li class="public ">
1119
+ <span class="summary_signature">
1120
+
1121
+ <a href="#to_phrase_query-instance_method" title="#to_phrase_query (instance method)">#<strong>to_phrase_query</strong>(query) &#x21d2; Object </a>
1122
+
1123
+
1124
+
1125
+ </span>
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+ <span class="summary_desc"><div class='inline'></div></span>
1136
+
975
1137
  </li>
976
1138
 
977
1139
 
@@ -1001,7 +1163,7 @@
1001
1163
  <li class="public ">
1002
1164
  <span class="summary_signature">
1003
1165
 
1004
- <a href="#to_tags-instance_method" title="#to_tags (instance method)">#<strong>to_tags</strong> &#x21d2; Object </a>
1166
+ <a href="#to_seconds-instance_method" title="#to_seconds (instance method)">#<strong>to_seconds</strong> &#x21d2; Integer </a>
1005
1167
 
1006
1168
 
1007
1169
 
@@ -1015,7 +1177,31 @@
1015
1177
 
1016
1178
 
1017
1179
 
1018
- <span class="summary_desc"><div class='inline'></div></span>
1180
+ <span class="summary_desc"><div class='inline'><p>Convert DD:HH:MM to seconds.</p>
1181
+ </div></span>
1182
+
1183
+ </li>
1184
+
1185
+
1186
+ <li class="public ">
1187
+ <span class="summary_signature">
1188
+
1189
+ <a href="#to_tags-instance_method" title="#to_tags (instance method)">#<strong>to_tags</strong> &#x21d2; Array </a>
1190
+
1191
+
1192
+
1193
+ </span>
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+ <span class="summary_desc"><div class='inline'><p>Convert a list of tags to an array.</p>
1204
+ </div></span>
1019
1205
 
1020
1206
  </li>
1021
1207
 
@@ -1204,7 +1390,7 @@
1204
1390
  <li class="public ">
1205
1391
  <span class="summary_signature">
1206
1392
 
1207
- <a href="#wildcard_to_rx-instance_method" title="#wildcard_to_rx (instance method)">#<strong>wildcard_to_rx</strong> &#x21d2; Object </a>
1393
+ <a href="#wildcard_to_rx-instance_method" title="#wildcard_to_rx (instance method)">#<strong>wildcard_to_rx</strong> &#x21d2; String </a>
1208
1394
 
1209
1395
 
1210
1396
 
@@ -1218,7 +1404,8 @@
1218
1404
 
1219
1405
 
1220
1406
 
1221
- <span class="summary_desc"><div class='inline'></div></span>
1407
+ <span class="summary_desc"><div class='inline'><p>Convert ? and * wildcards to regular expressions.</p>
1408
+ </div></span>
1222
1409
 
1223
1410
  </li>
1224
1411
 
@@ -1269,37 +1456,143 @@
1269
1456
  <div class="method_details first">
1270
1457
  <h3 class="signature first" id="add_at-instance_method">
1271
1458
 
1272
- #<strong>add_at</strong> &#x21d2; <tt>Object</tt>
1459
+ #<strong>add_at</strong> &#x21d2; <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>
1273
1460
 
1274
1461
 
1275
1462
 
1276
1463
 
1277
1464
 
1278
- </h3>
1465
+ </h3><div class="docstring">
1466
+ <div class="discussion">
1467
+ <p>Add @ prefix to string if needed, maintains +/- prefix</p>
1468
+
1469
+
1470
+ </div>
1279
1471
  </div>
1280
-
1281
- <div class="method_details ">
1282
- <h3 class="signature " id="add_tags-instance_method">
1472
+ <div class="tags">
1283
1473
 
1284
- #<strong>add_tags</strong>(tags, remove: false) &#x21d2; <tt>Object</tt>
1474
+ <p class="tag_title">Returns:</p>
1475
+ <ul class="return">
1285
1476
 
1286
-
1477
+ <li>
1478
+
1479
+
1480
+ <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span>
1481
+
1482
+
1483
+
1484
+ &mdash;
1485
+ <div class='inline'><p>@string</p>
1486
+ </div>
1487
+
1488
+ </li>
1287
1489
 
1490
+ </ul>
1288
1491
 
1289
-
1290
- </h3>
1492
+ </div>
1291
1493
  </div>
1292
1494
 
1293
1495
  <div class="method_details ">
1294
- <h3 class="signature " id="add_tags!-instance_method">
1496
+ <h3 class="signature " id="add_tags-instance_method">
1295
1497
 
1296
- #<strong>add_tags!</strong>(tags, remove: false) &#x21d2; <tt>Object</tt>
1498
+ #<strong>add_tags</strong>(tags, remove: false) &#x21d2; <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>
1297
1499
 
1298
1500
 
1299
1501
 
1300
1502
 
1301
1503
 
1302
- </h3>
1504
+ </h3><div class="docstring">
1505
+ <div class="discussion">
1506
+ <p>Returns the tagged string.</p>
1507
+
1508
+
1509
+ </div>
1510
+ </div>
1511
+ <div class="tags">
1512
+ <p class="tag_title">Parameters:</p>
1513
+ <ul class="param">
1514
+
1515
+ <li>
1516
+
1517
+ <span class='name'>tags</span>
1518
+
1519
+
1520
+ <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span> or <span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span></tt>)</span>
1521
+
1522
+
1523
+
1524
+ &mdash;
1525
+ <div class='inline'><p>List of tags to add. @ symbol optional</p>
1526
+ </div>
1527
+
1528
+ </li>
1529
+
1530
+ <li>
1531
+
1532
+ <span class='name'>remove</span>
1533
+
1534
+
1535
+ <span class='type'>(<tt>Boolean</tt>)</span>
1536
+
1537
+
1538
+ <em class="default">(defaults to: <tt>false</tt>)</em>
1539
+
1540
+
1541
+ &mdash;
1542
+ <div class='inline'><p>remove tags instead of adding</p>
1543
+ </div>
1544
+
1545
+ </li>
1546
+
1547
+ </ul>
1548
+
1549
+ <p class="tag_title">Returns:</p>
1550
+ <ul class="return">
1551
+
1552
+ <li>
1553
+
1554
+
1555
+ <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span>
1556
+
1557
+
1558
+
1559
+ &mdash;
1560
+ <div class='inline'><p>the tagged string</p>
1561
+ </div>
1562
+
1563
+ </li>
1564
+
1565
+ </ul>
1566
+
1567
+ </div>
1568
+ </div>
1569
+
1570
+ <div class="method_details ">
1571
+ <h3 class="signature " id="add_tags!-instance_method">
1572
+
1573
+ #<strong>add_tags!</strong>(tags, remove: false) &#x21d2; <tt>Object</tt>
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+ </h3><div class="docstring">
1580
+ <div class="discussion">
1581
+
1582
+
1583
+ </div>
1584
+ </div>
1585
+ <div class="tags">
1586
+
1587
+
1588
+ <p class="tag_title">See Also:</p>
1589
+ <ul class="see">
1590
+
1591
+ <li><span class='object_link'><a href="#add_tags-instance_method" title="String#add_tags (method)">#add_tags</a></span></li>
1592
+
1593
+ </ul>
1594
+
1595
+ </div>
1303
1596
  </div>
1304
1597
 
1305
1598
  <div class="method_details ">
@@ -1562,7 +1855,34 @@ added to a Time object</p>
1562
1855
 
1563
1856
 
1564
1857
 
1565
- </h3>
1858
+ </h3><div class="docstring">
1859
+ <div class="discussion">
1860
+ <p>Remove duplicate tags, leaving only first occurrence</p>
1861
+
1862
+
1863
+ </div>
1864
+ </div>
1865
+ <div class="tags">
1866
+
1867
+ <p class="tag_title">Returns:</p>
1868
+ <ul class="return">
1869
+
1870
+ <li>
1871
+
1872
+
1873
+ <span class='type'></span>
1874
+
1875
+
1876
+
1877
+
1878
+ <div class='inline'><p>Deduplicated string</p>
1879
+ </div>
1880
+
1881
+ </li>
1882
+
1883
+ </ul>
1884
+
1885
+ </div>
1566
1886
  </div>
1567
1887
 
1568
1888
  <div class="method_details ">
@@ -1576,32 +1896,92 @@ added to a Time object</p>
1576
1896
 
1577
1897
  </h3><div class="docstring">
1578
1898
  <div class="discussion">
1579
- <p>Remove duplicate tags, leaving only first occurrence</p>
1580
-
1899
+
1581
1900
 
1582
1901
  </div>
1583
1902
  </div>
1584
1903
  <div class="tags">
1585
1904
 
1586
- <p class="tag_title">Returns:</p>
1587
- <ul class="return">
1905
+
1906
+ <p class="tag_title">See Also:</p>
1907
+ <ul class="see">
1908
+
1909
+ <li><span class='object_link'><a href="#dedup_tags-instance_method" title="String#dedup_tags (method)">#dedup_tags</a></span></li>
1910
+
1911
+ </ul>
1912
+
1913
+ </div>
1914
+ </div>
1915
+
1916
+ <div class="method_details ">
1917
+ <h3 class="signature " id="expand_date_tags-instance_method">
1918
+
1919
+ #<strong>expand_date_tags</strong>(additional_tags = nil) &#x21d2; <tt>Object</tt>
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+ </h3><div class="docstring">
1926
+ <div class="discussion">
1927
+ <p>Convert (chronify) natural language dates
1928
+ within configured date tags (tags whose value is
1929
+ expected to be a date). Modifies string in place.</p>
1930
+
1931
+
1932
+ </div>
1933
+ </div>
1934
+ <div class="tags">
1935
+ <p class="tag_title">Parameters:</p>
1936
+ <ul class="param">
1588
1937
 
1589
1938
  <li>
1590
1939
 
1940
+ <span class='name'>additional_tags</span>
1591
1941
 
1592
- <span class='type'></span>
1593
1942
 
1943
+ <span class='type'>(<tt><span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span></tt>)</span>
1594
1944
 
1595
1945
 
1596
-
1597
- <div class='inline'><p>Deduplicated string</p>
1946
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1947
+
1948
+
1949
+ &mdash;
1950
+ <div class='inline'><p>An array of
1951
+ additional tags to
1952
+ consider date_tags</p>
1598
1953
  </div>
1599
1954
 
1600
1955
  </li>
1601
1956
 
1602
1957
  </ul>
1603
1958
 
1959
+
1960
+ </div>
1961
+ </div>
1962
+
1963
+ <div class="method_details ">
1964
+ <h3 class="signature " id="highlight_search-instance_method">
1965
+
1966
+ #<strong>highlight_search</strong>(search, distance: nil, negate: false, case_type: nil) &#x21d2; <tt>Object</tt>
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+ </h3>
1604
1973
  </div>
1974
+
1975
+ <div class="method_details ">
1976
+ <h3 class="signature " id="highlight_search!-instance_method">
1977
+
1978
+ #<strong>highlight_search!</strong>(search, distance: nil, negate: false, case_type: nil) &#x21d2; <tt>Object</tt>
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+ </h3>
1605
1985
  </div>
1606
1986
 
1607
1987
  <div class="method_details ">
@@ -1743,6 +2123,18 @@ added to a Time object</p>
1743
2123
  </ul>
1744
2124
 
1745
2125
  </div>
2126
+ </div>
2127
+
2128
+ <div class="method_details ">
2129
+ <h3 class="signature " id="ignore_case-instance_method">
2130
+
2131
+ #<strong>ignore_case</strong>(search, case_type) &#x21d2; <tt>Object</tt>
2132
+
2133
+
2134
+
2135
+
2136
+
2137
+ </h3>
1746
2138
  </div>
1747
2139
 
1748
2140
  <div class="method_details ">
@@ -1839,22 +2231,12 @@ may not render the same style.</p>
1839
2231
 
1840
2232
 
1841
2233
 
1842
- </h3>
1843
- </div>
1844
-
1845
- <div class="method_details ">
1846
- <h3 class="signature " id="link_urls!-instance_method">
1847
-
1848
- #<strong>link_urls!</strong>(**opt) &#x21d2; <tt>Object</tt>
1849
-
1850
-
1851
-
1852
-
1853
-
1854
2234
  </h3><div class="docstring">
1855
2235
  <div class="discussion">
1856
2236
  <p>Turn raw urls into HTML links</p>
1857
2237
 
2238
+ <p>:html (default)</p>
2239
+
1858
2240
 
1859
2241
  </div>
1860
2242
  </div>
@@ -1879,26 +2261,63 @@ may not render the same style.</p>
1879
2261
 
1880
2262
  </ul>
1881
2263
 
2264
+
2265
+
2266
+
2267
+ <p class="tag_title">Options Hash (<tt>**opt</tt>):</p>
2268
+ <ul class="option">
2269
+
2270
+ <li>
2271
+ <span class="name">:format</span>
2272
+ <span class="type">(<tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>)</span>
2273
+ <span class="default">
2274
+
2275
+ </span>
2276
+
2277
+ &mdash; <div class='inline'><p>can be :markdown or</p>
2278
+ </div>
2279
+
2280
+ </li>
2281
+
2282
+ </ul>
2283
+
2284
+
1882
2285
 
1883
2286
  </div>
1884
2287
  </div>
1885
2288
 
1886
2289
  <div class="method_details ">
1887
- <h3 class="signature " id="normalize_age-instance_method">
2290
+ <h3 class="signature " id="link_urls!-instance_method">
1888
2291
 
1889
- #<strong>normalize_age</strong>(default = :newest) &#x21d2; <tt>Object</tt>
2292
+ #<strong>link_urls!</strong>(**opt) &#x21d2; <tt>Object</tt>
1890
2293
 
1891
2294
 
1892
2295
 
1893
2296
 
1894
2297
 
1895
- </h3>
2298
+ </h3><div class="docstring">
2299
+ <div class="discussion">
2300
+
2301
+
2302
+ </div>
2303
+ </div>
2304
+ <div class="tags">
2305
+
2306
+
2307
+ <p class="tag_title">See Also:</p>
2308
+ <ul class="see">
2309
+
2310
+ <li><span class='object_link'><a href="#link_urls-instance_method" title="String#link_urls (method)">#link_urls</a></span></li>
2311
+
2312
+ </ul>
2313
+
2314
+ </div>
1896
2315
  </div>
1897
2316
 
1898
2317
  <div class="method_details ">
1899
- <h3 class="signature " id="normalize_age!-instance_method">
2318
+ <h3 class="signature " id="normalize_age-instance_method">
1900
2319
 
1901
- #<strong>normalize_age!</strong>(default = :newest) &#x21d2; <tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>
2320
+ #<strong>normalize_age</strong>(default = :newest) &#x21d2; <tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>
1902
2321
 
1903
2322
 
1904
2323
 
@@ -1935,21 +2354,9 @@ may not render the same style.</p>
1935
2354
  </div>
1936
2355
 
1937
2356
  <div class="method_details ">
1938
- <h3 class="signature " id="normalize_bool-instance_method">
1939
-
1940
- #<strong>normalize_bool</strong>(default = :and) &#x21d2; <tt>Object</tt>
1941
-
1942
-
1943
-
1944
-
1945
-
1946
- </h3>
1947
- </div>
1948
-
1949
- <div class="method_details ">
1950
- <h3 class="signature " id="normalize_bool!-instance_method">
2357
+ <h3 class="signature " id="normalize_age!-instance_method">
1951
2358
 
1952
- #<strong>normalize_bool!</strong>(default = :and) &#x21d2; <tt>Object</tt>
2359
+ #<strong>normalize_age!</strong>(default = :newest) &#x21d2; <tt>Object</tt>
1953
2360
 
1954
2361
 
1955
2362
 
@@ -1957,15 +2364,43 @@ may not render the same style.</p>
1957
2364
 
1958
2365
  </h3><div class="docstring">
1959
2366
  <div class="discussion">
1960
- <p>Convert a boolean string to a symbol</p>
1961
-
2367
+
1962
2368
 
1963
2369
  </div>
1964
2370
  </div>
1965
2371
  <div class="tags">
1966
2372
 
1967
- <p class="tag_title">Returns:</p>
1968
- <ul class="return">
2373
+
2374
+ <p class="tag_title">See Also:</p>
2375
+ <ul class="see">
2376
+
2377
+ <li><span class='object_link'><a href="#normalize_age-instance_method" title="String#normalize_age (method)">#normalize_age</a></span></li>
2378
+
2379
+ </ul>
2380
+
2381
+ </div>
2382
+ </div>
2383
+
2384
+ <div class="method_details ">
2385
+ <h3 class="signature " id="normalize_bool-instance_method">
2386
+
2387
+ #<strong>normalize_bool</strong>(default = :and) &#x21d2; <tt>Object</tt>
2388
+
2389
+
2390
+
2391
+
2392
+
2393
+ </h3><div class="docstring">
2394
+ <div class="discussion">
2395
+ <p>Convert a boolean string to a symbol</p>
2396
+
2397
+
2398
+ </div>
2399
+ </div>
2400
+ <div class="tags">
2401
+
2402
+ <p class="tag_title">Returns:</p>
2403
+ <ul class="return">
1969
2404
 
1970
2405
  <li>
1971
2406
 
@@ -1986,21 +2421,37 @@ may not render the same style.</p>
1986
2421
  </div>
1987
2422
 
1988
2423
  <div class="method_details ">
1989
- <h3 class="signature " id="normalize_case-instance_method">
2424
+ <h3 class="signature " id="normalize_bool!-instance_method">
1990
2425
 
1991
- #<strong>normalize_case</strong>(default = :smart) &#x21d2; <tt>Object</tt>
2426
+ #<strong>normalize_bool!</strong>(default = :and) &#x21d2; <tt>Object</tt>
1992
2427
 
1993
2428
 
1994
2429
 
1995
2430
 
1996
2431
 
1997
- </h3>
2432
+ </h3><div class="docstring">
2433
+ <div class="discussion">
2434
+
2435
+
2436
+ </div>
2437
+ </div>
2438
+ <div class="tags">
2439
+
2440
+
2441
+ <p class="tag_title">See Also:</p>
2442
+ <ul class="see">
2443
+
2444
+ <li><span class='object_link'><a href="#normalize_bool-instance_method" title="String#normalize_bool (method)">#normalize_bool</a></span></li>
2445
+
2446
+ </ul>
2447
+
2448
+ </div>
1998
2449
  </div>
1999
2450
 
2000
2451
  <div class="method_details ">
2001
- <h3 class="signature " id="normalize_case!-instance_method">
2452
+ <h3 class="signature " id="normalize_case-instance_method">
2002
2453
 
2003
- #<strong>normalize_case!</strong> &#x21d2; <tt>Object</tt>
2454
+ #<strong>normalize_case</strong>(default = :smart) &#x21d2; <tt>Object</tt>
2004
2455
 
2005
2456
 
2006
2457
 
@@ -2037,21 +2488,37 @@ may not render the same style.</p>
2037
2488
  </div>
2038
2489
 
2039
2490
  <div class="method_details ">
2040
- <h3 class="signature " id="normalize_matching-instance_method">
2491
+ <h3 class="signature " id="normalize_case!-instance_method">
2041
2492
 
2042
- #<strong>normalize_matching</strong>(default = :pattern) &#x21d2; <tt>Object</tt>
2493
+ #<strong>normalize_case!</strong> &#x21d2; <tt>Object</tt>
2043
2494
 
2044
2495
 
2045
2496
 
2046
2497
 
2047
2498
 
2048
- </h3>
2499
+ </h3><div class="docstring">
2500
+ <div class="discussion">
2501
+
2502
+
2503
+ </div>
2504
+ </div>
2505
+ <div class="tags">
2506
+
2507
+
2508
+ <p class="tag_title">See Also:</p>
2509
+ <ul class="see">
2510
+
2511
+ <li><span class='object_link'><a href="#normalize_case-instance_method" title="String#normalize_case (method)">#normalize_case</a></span></li>
2512
+
2513
+ </ul>
2514
+
2515
+ </div>
2049
2516
  </div>
2050
2517
 
2051
2518
  <div class="method_details ">
2052
- <h3 class="signature " id="normalize_matching!-instance_method">
2519
+ <h3 class="signature " id="normalize_matching-instance_method">
2053
2520
 
2054
- #<strong>normalize_matching!</strong>(default = :pattern) &#x21d2; <tt>Object</tt>
2521
+ #<strong>normalize_matching</strong>(default = :pattern) &#x21d2; <tt>Object</tt>
2055
2522
 
2056
2523
 
2057
2524
 
@@ -2065,7 +2532,30 @@ may not render the same style.</p>
2065
2532
  </div>
2066
2533
  </div>
2067
2534
  <div class="tags">
2535
+ <p class="tag_title">Parameters:</p>
2536
+ <ul class="param">
2068
2537
 
2538
+ <li>
2539
+
2540
+ <span class='name'>default</span>
2541
+
2542
+
2543
+ <span class='type'>(<tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>)</span>
2544
+
2545
+
2546
+ <em class="default">(defaults to: <tt>:pattern</tt>)</em>
2547
+
2548
+
2549
+ &mdash;
2550
+ <div class='inline'><p>the default matching
2551
+ type to return if the string
2552
+ doesn&#39;t match a known symbol</p>
2553
+ </div>
2554
+
2555
+ </li>
2556
+
2557
+ </ul>
2558
+
2069
2559
  <p class="tag_title">Returns:</p>
2070
2560
  <ul class="return">
2071
2561
 
@@ -2084,6 +2574,34 @@ may not render the same style.</p>
2084
2574
 
2085
2575
  </ul>
2086
2576
 
2577
+ </div>
2578
+ </div>
2579
+
2580
+ <div class="method_details ">
2581
+ <h3 class="signature " id="normalize_matching!-instance_method">
2582
+
2583
+ #<strong>normalize_matching!</strong>(default = :pattern) &#x21d2; <tt>Object</tt>
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+ </h3><div class="docstring">
2590
+ <div class="discussion">
2591
+
2592
+
2593
+ </div>
2594
+ </div>
2595
+ <div class="tags">
2596
+
2597
+
2598
+ <p class="tag_title">See Also:</p>
2599
+ <ul class="see">
2600
+
2601
+ <li><span class='object_link'><a href="#normalize_matching-instance_method" title="String#normalize_matching (method)">#normalize_matching</a></span></li>
2602
+
2603
+ </ul>
2604
+
2087
2605
  </div>
2088
2606
  </div>
2089
2607
 
@@ -2141,13 +2659,41 @@ may not render the same style.</p>
2141
2659
  <div class="method_details ">
2142
2660
  <h3 class="signature " id="normalize_trigger-instance_method">
2143
2661
 
2144
- #<strong>normalize_trigger</strong> &#x21d2; <tt>Object</tt>
2662
+ #<strong>normalize_trigger</strong> &#x21d2; <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>
2145
2663
 
2146
2664
 
2147
2665
 
2148
2666
 
2149
2667
 
2150
- </h3>
2668
+ </h3><div class="docstring">
2669
+ <div class="discussion">
2670
+ <p>Adds ?: to any parentheticals in a regular expression
2671
+ to avoid match groups</p>
2672
+
2673
+
2674
+ </div>
2675
+ </div>
2676
+ <div class="tags">
2677
+
2678
+ <p class="tag_title">Returns:</p>
2679
+ <ul class="return">
2680
+
2681
+ <li>
2682
+
2683
+
2684
+ <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span>
2685
+
2686
+
2687
+
2688
+ &mdash;
2689
+ <div class='inline'><p>modified regular expression</p>
2690
+ </div>
2691
+
2692
+ </li>
2693
+
2694
+ </ul>
2695
+
2696
+ </div>
2151
2697
  </div>
2152
2698
 
2153
2699
  <div class="method_details ">
@@ -2159,19 +2705,23 @@ may not render the same style.</p>
2159
2705
 
2160
2706
 
2161
2707
 
2162
- </h3>
2163
- </div>
2708
+ </h3><div class="docstring">
2709
+ <div class="discussion">
2164
2710
 
2165
- <div class="method_details ">
2166
- <h3 class="signature " id="pluralize-instance_method">
2167
-
2168
- #<strong>pluralize</strong>(number) &#x21d2; <tt>Object</tt>
2169
-
2170
2711
 
2712
+ </div>
2713
+ </div>
2714
+ <div class="tags">
2171
2715
 
2172
2716
 
2173
-
2174
- </h3>
2717
+ <p class="tag_title">See Also:</p>
2718
+ <ul class="see">
2719
+
2720
+ <li><span class='object_link'><a href="#normalize_trigger-instance_method" title="String#normalize_trigger (method)">#normalize_trigger</a></span></li>
2721
+
2722
+ </ul>
2723
+
2724
+ </div>
2175
2725
  </div>
2176
2726
 
2177
2727
  <div class="method_details ">
@@ -2227,7 +2777,62 @@ may not render the same style.</p>
2227
2777
 
2228
2778
 
2229
2779
 
2230
- </h3>
2780
+ </h3><div class="docstring">
2781
+ <div class="discussion">
2782
+ <p>Convert a string value to an appropriate type. If
2783
+ kind is not specified, &#39;[one, two]&#39; becomes an Array,
2784
+ &#39;1&#39; becomes Integer, &#39;1.5&#39; becomes Float, &#39;true&#39; or
2785
+ &#39;yes&#39; becomes TrueClass, &#39;false&#39; or &#39;no&#39; becomes
2786
+ FalseClass.</p>
2787
+
2788
+
2789
+ </div>
2790
+ </div>
2791
+ <div class="tags">
2792
+ <p class="tag_title">Parameters:</p>
2793
+ <ul class="param">
2794
+
2795
+ <li>
2796
+
2797
+ <span class='name'>kind</span>
2798
+
2799
+
2800
+ <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span>
2801
+
2802
+
2803
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
2804
+
2805
+
2806
+ &mdash;
2807
+ <div class='inline'><p>specify string, array,
2808
+ integer, float, symbol, or boolean
2809
+ (falls back to string if value is
2810
+ not recognized)</p>
2811
+ </div>
2812
+
2813
+ </li>
2814
+
2815
+ </ul>
2816
+
2817
+ <p class="tag_title">Returns:</p>
2818
+ <ul class="return">
2819
+
2820
+ <li>
2821
+
2822
+
2823
+ <span class='type'></span>
2824
+
2825
+
2826
+
2827
+
2828
+ <div class='inline'><p>Converted object type</p>
2829
+ </div>
2830
+
2831
+ </li>
2832
+
2833
+ </ul>
2834
+
2835
+ </div>
2231
2836
  </div>
2232
2837
 
2233
2838
  <div class="method_details ">
@@ -2240,6 +2845,74 @@ may not render the same style.</p>
2240
2845
 
2241
2846
 
2242
2847
  </h3>
2848
+ </div>
2849
+
2850
+ <div class="method_details ">
2851
+ <h3 class="signature " id="split_date_range-instance_method">
2852
+
2853
+ #<strong>split_date_range</strong> &#x21d2; <tt><span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span>&lt;DateTime&gt;</tt>
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+ </h3><div class="docstring">
2860
+ <div class="discussion">
2861
+ <p>Splits a range string and returns an array of
2862
+ DateTime objects as [start, end]. If only one date is
2863
+ given, end time is nil.</p>
2864
+
2865
+ <p>&quot;mon 3pm to mon 5pm&quot;.split_date_range</p>
2866
+
2867
+
2868
+ </div>
2869
+ </div>
2870
+ <div class="tags">
2871
+
2872
+ <div class="examples">
2873
+ <p class="tag_title">Examples:</p>
2874
+
2875
+
2876
+ <p class="example_title"><div class='inline'><p>Process a natural language date range</p>
2877
+ </div></p>
2878
+
2879
+ <pre class="example code"><code></code></pre>
2880
+
2881
+ </div>
2882
+
2883
+ <p class="tag_title">Returns:</p>
2884
+ <ul class="return">
2885
+
2886
+ <li>
2887
+
2888
+
2889
+ <span class='type'>(<tt><span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span>&lt;DateTime&gt;</tt>)</span>
2890
+
2891
+
2892
+
2893
+ &mdash;
2894
+ <div class='inline'><p>Start and end dates as
2895
+ array</p>
2896
+ </div>
2897
+
2898
+ </li>
2899
+
2900
+ </ul>
2901
+ <p class="tag_title">Raises:</p>
2902
+ <ul class="raise">
2903
+
2904
+ <li>
2905
+
2906
+
2907
+ <span class='type'>(<tt>InvalidTimeExpression</tt>)</span>
2908
+
2909
+
2910
+
2911
+ </li>
2912
+
2913
+ </ul>
2914
+
2915
+ </div>
2243
2916
  </div>
2244
2917
 
2245
2918
  <div class="method_details ">
@@ -2429,6 +3102,103 @@ may not render the same style.</p>
2429
3102
  </ul>
2430
3103
 
2431
3104
  </div>
3105
+ </div>
3106
+
3107
+ <div class="method_details ">
3108
+ <h3 class="signature " id="time_string-instance_method">
3109
+
3110
+ #<strong>time_string</strong>(format: :dhm) &#x21d2; <tt>Object</tt>
3111
+
3112
+
3113
+
3114
+
3115
+
3116
+ </h3><div class="docstring">
3117
+ <div class="discussion">
3118
+ <p>Convert DD:HH:MM to a natural language string</p>
3119
+
3120
+
3121
+ </div>
3122
+ </div>
3123
+ <div class="tags">
3124
+ <p class="tag_title">Parameters:</p>
3125
+ <ul class="param">
3126
+
3127
+ <li>
3128
+
3129
+ <span class='name'>format</span>
3130
+
3131
+
3132
+ <span class='type'>(<tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>)</span>
3133
+
3134
+
3135
+ <em class="default">(defaults to: <tt>:dhm</tt>)</em>
3136
+
3137
+
3138
+ &mdash;
3139
+ <div class='inline'><p>The format to output (:dhm, :hm, :m, :clock, :natural)</p>
3140
+ </div>
3141
+
3142
+ </li>
3143
+
3144
+ </ul>
3145
+
3146
+
3147
+ </div>
3148
+ </div>
3149
+
3150
+ <div class="method_details ">
3151
+ <h3 class="signature " id="to_p-instance_method">
3152
+
3153
+ #<strong>to_p</strong>(number) &#x21d2; <tt>Object</tt>
3154
+
3155
+
3156
+
3157
+
3158
+
3159
+ </h3><div class="docstring">
3160
+ <div class="discussion">
3161
+ <p>Pluralize a string based on quantity</p>
3162
+
3163
+
3164
+ </div>
3165
+ </div>
3166
+ <div class="tags">
3167
+ <p class="tag_title">Parameters:</p>
3168
+ <ul class="param">
3169
+
3170
+ <li>
3171
+
3172
+ <span class='name'>number</span>
3173
+
3174
+
3175
+ <span class='type'>(<tt>Integer</tt>)</span>
3176
+
3177
+
3178
+
3179
+ &mdash;
3180
+ <div class='inline'><p>the quantity of the
3181
+ object the string represents</p>
3182
+ </div>
3183
+
3184
+ </li>
3185
+
3186
+ </ul>
3187
+
3188
+
3189
+ </div>
3190
+ </div>
3191
+
3192
+ <div class="method_details ">
3193
+ <h3 class="signature " id="to_phrase_query-instance_method">
3194
+
3195
+ #<strong>to_phrase_query</strong>(query) &#x21d2; <tt>Object</tt>
3196
+
3197
+
3198
+
3199
+
3200
+
3201
+ </h3>
2432
3202
  </div>
2433
3203
 
2434
3204
  <div class="method_details ">
@@ -2519,19 +3289,100 @@ between characters</p>
2519
3289
 
2520
3290
  </ul>
2521
3291
 
3292
+ </div>
3293
+ </div>
3294
+
3295
+ <div class="method_details ">
3296
+ <h3 class="signature " id="to_seconds-instance_method">
3297
+
3298
+ #<strong>to_seconds</strong> &#x21d2; <tt>Integer</tt>
3299
+
3300
+
3301
+
3302
+
3303
+
3304
+ </h3><div class="docstring">
3305
+ <div class="discussion">
3306
+ <p>Convert DD:HH:MM to seconds</p>
3307
+
3308
+
3309
+ </div>
3310
+ </div>
3311
+ <div class="tags">
3312
+
3313
+ <p class="tag_title">Returns:</p>
3314
+ <ul class="return">
3315
+
3316
+ <li>
3317
+
3318
+
3319
+ <span class='type'>(<tt>Integer</tt>)</span>
3320
+
3321
+
3322
+
3323
+ &mdash;
3324
+ <div class='inline'><p>rounded number of seconds</p>
3325
+ </div>
3326
+
3327
+ </li>
3328
+
3329
+ </ul>
3330
+ <p class="tag_title">Raises:</p>
3331
+ <ul class="raise">
3332
+
3333
+ <li>
3334
+
3335
+
3336
+ <span class='type'>(<tt>Errors::DoingRuntimeError</tt>)</span>
3337
+
3338
+
3339
+
3340
+ </li>
3341
+
3342
+ </ul>
3343
+
2522
3344
  </div>
2523
3345
  </div>
2524
3346
 
2525
3347
  <div class="method_details ">
2526
3348
  <h3 class="signature " id="to_tags-instance_method">
2527
3349
 
2528
- #<strong>to_tags</strong> &#x21d2; <tt>Object</tt>
3350
+ #<strong>to_tags</strong> &#x21d2; <tt><span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span></tt>
2529
3351
 
2530
3352
 
2531
3353
 
2532
3354
 
2533
3355
 
2534
- </h3>
3356
+ </h3><div class="docstring">
3357
+ <div class="discussion">
3358
+ <p>Convert a list of tags to an array. Tags can be with
3359
+ or without @ symbols, separated by any character, and
3360
+ can include parenthetical values (with spaces)</p>
3361
+
3362
+
3363
+ </div>
3364
+ </div>
3365
+ <div class="tags">
3366
+
3367
+ <p class="tag_title">Returns:</p>
3368
+ <ul class="return">
3369
+
3370
+ <li>
3371
+
3372
+
3373
+ <span class='type'>(<tt><span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span></tt>)</span>
3374
+
3375
+
3376
+
3377
+ &mdash;
3378
+ <div class='inline'><p>array of tags including @ symbols</p>
3379
+ </div>
3380
+
3381
+ </li>
3382
+
3383
+ </ul>
3384
+
3385
+ </div>
2535
3386
  </div>
2536
3387
 
2537
3388
  <div class="method_details ">
@@ -2797,13 +3648,41 @@ be recognized, e.g. %greensomething still finds
2797
3648
  <div class="method_details ">
2798
3649
  <h3 class="signature " id="wildcard_to_rx-instance_method">
2799
3650
 
2800
- #<strong>wildcard_to_rx</strong> &#x21d2; <tt>Object</tt>
3651
+ #<strong>wildcard_to_rx</strong> &#x21d2; <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>
2801
3652
 
2802
3653
 
2803
3654
 
2804
3655
 
2805
3656
 
2806
- </h3>
3657
+ </h3><div class="docstring">
3658
+ <div class="discussion">
3659
+ <p>Convert ? and * wildcards to regular expressions.
3660
+ Uses \S (non-whitespace) instead of . (any character)</p>
3661
+
3662
+
3663
+ </div>
3664
+ </div>
3665
+ <div class="tags">
3666
+
3667
+ <p class="tag_title">Returns:</p>
3668
+ <ul class="return">
3669
+
3670
+ <li>
3671
+
3672
+
3673
+ <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span>
3674
+
3675
+
3676
+
3677
+ &mdash;
3678
+ <div class='inline'><p>Regular expression string</p>
3679
+ </div>
3680
+
3681
+ </li>
3682
+
3683
+ </ul>
3684
+
3685
+ </div>
2807
3686
  </div>
2808
3687
 
2809
3688
  <div class="method_details ">
@@ -2886,7 +3765,7 @@ be recognized, e.g. %greensomething still finds
2886
3765
  </div>
2887
3766
 
2888
3767
  <div id="footer">
2889
- Generated on Fri Jan 14 21:59:14 2022 by
3768
+ Generated on Tue Jan 18 07:38:21 2022 by
2890
3769
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2891
3770
  0.9.26 (ruby-3.0.1).
2892
3771
  </div>