doing 2.1.14 → 2.1.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) 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 +66 -0
  7. data/Gemfile.lock +3 -2
  8. data/README.md +56 -19
  9. data/bin/doing +134 -47
  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 +224 -2
  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 +69 -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 +71 -67
  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 +448 -312
  64. data/docs/doc/top-level-namespace.html +2 -2
  65. data/docs/index.md +56 -19
  66. data/doing.gemspec +1 -0
  67. data/doing.rdoc +36 -6
  68. data/example_plugin.rb +2 -4
  69. data/lib/completion/_doing.zsh +8 -8
  70. data/lib/completion/doing.bash +12 -12
  71. data/lib/completion/doing.fish +8 -3
  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 +83 -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/prompt.rb +52 -0
  82. data/lib/doing/string.rb +137 -33
  83. data/lib/doing/string_chronify.rb +112 -14
  84. data/lib/doing/template_string.rb +1 -1
  85. data/lib/doing/time.rb +4 -4
  86. data/lib/doing/util_backup.rb +1 -1
  87. data/lib/doing/version.rb +1 -1
  88. data/lib/doing/wwid.rb +107 -101
  89. data/lib/doing.rb +35 -31
  90. data/lib/examples/plugins/say_export.rb +1 -4
  91. metadata +26 -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 Sat Jan 15 17:27:48 2022 by
3768
+ Generated on Tue Jan 18 07:44:44 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>