doing 2.1.39 → 2.1.42

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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/CHANGELOG.md +67 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +1 -1
  6. data/Rakefile +4 -4
  7. data/bin/commands/again.rb +1 -3
  8. data/bin/commands/changes.rb +50 -34
  9. data/bin/commands/commands.rb +77 -52
  10. data/bin/commands/commands_accepting.rb +57 -53
  11. data/bin/commands/config.rb +45 -36
  12. data/bin/commands/done.rb +1 -18
  13. data/bin/commands/finish.rb +90 -59
  14. data/bin/commands/flag.rb +5 -1
  15. data/bin/commands/grep.rb +3 -14
  16. data/bin/commands/last.rb +2 -8
  17. data/bin/commands/meanwhile.rb +13 -6
  18. data/bin/commands/now.rb +151 -107
  19. data/bin/commands/on.rb +8 -18
  20. data/bin/commands/recent.rb +2 -8
  21. data/bin/commands/reset.rb +24 -1
  22. data/bin/commands/select.rb +1 -1
  23. data/bin/commands/show.rb +6 -17
  24. data/bin/commands/since.rb +1 -12
  25. data/bin/commands/tag_dir.rb +49 -15
  26. data/bin/commands/today.rb +2 -13
  27. data/bin/commands/undo.rb +4 -6
  28. data/bin/commands/view.rb +1 -1
  29. data/bin/commands/yesterday.rb +2 -13
  30. data/bin/doing +15 -8
  31. data/{Dockerfile → docker/Dockerfile} +3 -1
  32. data/{Dockerfile-2.6 → docker/Dockerfile-2.6} +2 -2
  33. data/{Dockerfile-2.7 → docker/Dockerfile-2.7} +2 -2
  34. data/{Dockerfile-3.0 → docker/Dockerfile-3.0} +2 -2
  35. data/{bash_profile → docker/bash_profile} +0 -0
  36. data/{inputrc → docker/inputrc} +0 -0
  37. data/docs/doc/Array.html +85 -2
  38. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  39. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  40. data/docs/doc/BooleanTermParser/Query.html +1 -1
  41. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  42. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  43. data/docs/doc/BooleanTermParser.html +1 -1
  44. data/docs/doc/Doing/ArrayNestedHash.html +198 -0
  45. data/docs/doc/Doing/ArrayTags.html +424 -0
  46. data/docs/doc/Doing/CSVExport.html +266 -0
  47. data/docs/doc/Doing/CalendarImport.html +232 -0
  48. data/docs/doc/Doing/Change.html +617 -0
  49. data/docs/doc/Doing/Changes.html +468 -0
  50. data/docs/doc/Doing/ChronifyArray.html +347 -0
  51. data/docs/doc/Doing/ChronifyNumeric.html +271 -0
  52. data/docs/doc/Doing/ChronifyString.html +682 -0
  53. data/docs/doc/Doing/Color.html +167 -21
  54. data/docs/doc/Doing/Completion/BashCompletions.html +445 -0
  55. data/docs/doc/Doing/Completion/FishCompletions.html +445 -0
  56. data/docs/doc/Doing/Completion/StringUtils.html +229 -0
  57. data/docs/doc/Doing/Completion/ZshCompletions.html +445 -0
  58. data/docs/doc/Doing/Completion.html +17 -3
  59. data/docs/doc/Doing/Configuration.html +3 -2
  60. data/docs/doc/Doing/DayOneRenderer.html +383 -0
  61. data/docs/doc/Doing/DayoneExport.html +290 -0
  62. data/docs/doc/Doing/DoingImport.html +391 -0
  63. data/docs/doc/Doing/Entry.html +381 -0
  64. data/docs/doc/Doing/Errors/DoingNoTraceError.html +7 -3
  65. data/docs/doc/Doing/Errors/DoingRuntimeError.html +7 -3
  66. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  67. data/docs/doc/Doing/Errors/EmptyInput.html +10 -2
  68. data/docs/doc/Doing/Errors/HistoryLimitError.html +194 -0
  69. data/docs/doc/Doing/Errors/InvalidPlugin.html +194 -0
  70. data/docs/doc/Doing/Errors/MissingBackupFile.html +194 -0
  71. data/docs/doc/Doing/Errors/NoResults.html +10 -2
  72. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  73. data/docs/doc/Doing/Errors/UserCancelled.html +10 -2
  74. data/docs/doc/Doing/Errors/WrongCommand.html +10 -2
  75. data/docs/doc/Doing/Errors.html +9 -9
  76. data/docs/doc/Doing/HTMLExport.html +256 -0
  77. data/docs/doc/Doing/Hooks.html +1 -1
  78. data/docs/doc/Doing/Item.html +179 -1660
  79. data/docs/doc/Doing/ItemDates.html +564 -0
  80. data/docs/doc/Doing/ItemQuery.html +614 -0
  81. data/docs/doc/Doing/ItemState.html +387 -0
  82. data/docs/doc/Doing/ItemTags.html +498 -0
  83. data/docs/doc/Doing/Items.html +581 -15
  84. data/docs/doc/Doing/JSONExport.html +222 -0
  85. data/docs/doc/Doing/Logger.html +1 -1
  86. data/docs/doc/Doing/MarkdownExport.html +266 -0
  87. data/docs/doc/Doing/MarkdownRenderer.html +383 -0
  88. data/docs/doc/Doing/Note.html +18 -4
  89. data/docs/doc/Doing/Pager.html +1 -1
  90. data/docs/doc/Doing/Plugins.html +181 -76
  91. data/docs/doc/Doing/Prompt.html +32 -683
  92. data/docs/doc/Doing/PromptChoose.html +484 -0
  93. data/docs/doc/Doing/PromptFZF.html +391 -0
  94. data/docs/doc/Doing/PromptInput.html +572 -0
  95. data/docs/doc/Doing/PromptSTD.html +293 -0
  96. data/docs/doc/Doing/PromptYN.html +237 -0
  97. data/docs/doc/Doing/Section.html +58 -2
  98. data/docs/doc/Doing/StringHighlight.html +533 -0
  99. data/docs/doc/Doing/StringNormalize.html +929 -0
  100. data/docs/doc/Doing/StringQuery.html +725 -0
  101. data/docs/doc/Doing/StringTags.html +884 -0
  102. data/docs/doc/Doing/StringTransform.html +599 -0
  103. data/docs/doc/Doing/StringTruncate.html +448 -0
  104. data/docs/doc/Doing/StringURL.html +409 -0
  105. data/docs/doc/Doing/SymbolNormalize.html +341 -0
  106. data/docs/doc/Doing/TaskPaperExport.html +222 -0
  107. data/docs/doc/Doing/TemplateExport.html +249 -0
  108. data/docs/doc/Doing/TemplateString.html +102 -3
  109. data/docs/doc/Doing/TimingImport.html +285 -0
  110. data/docs/doc/Doing/Types.html +1 -1
  111. data/docs/doc/Doing/Util/Backup.html +11 -163
  112. data/docs/doc/Doing/Util.html +67 -10
  113. data/docs/doc/Doing/Version.html +523 -0
  114. data/docs/doc/Doing/WWID/WWIDUtil.html +510 -0
  115. data/docs/doc/Doing/WWID.html +476 -139
  116. data/docs/doc/Doing/WWIDDisplay.html +865 -0
  117. data/docs/doc/Doing/WWIDEditor.html +466 -0
  118. data/docs/doc/Doing/WWIDFileTools.html +359 -0
  119. data/docs/doc/Doing/WWIDFilter.html +466 -0
  120. data/docs/doc/Doing/WWIDGuess.html +299 -0
  121. data/docs/doc/Doing/WWIDInteractive.html +752 -0
  122. data/docs/doc/Doing/WWIDModify.html +1078 -0
  123. data/docs/doc/Doing/WWIDTags.html +302 -0
  124. data/docs/doc/Doing/WWIDTimers.html +359 -0
  125. data/docs/doc/Doing/WWIDUtil.html +510 -0
  126. data/docs/doc/Doing.html +9 -6
  127. data/docs/doc/FalseClass.html +1 -1
  128. data/docs/doc/GLI/Commands/Help.html +1 -1
  129. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  130. data/docs/doc/GLI/Commands.html +1 -1
  131. data/docs/doc/GLI.html +1 -1
  132. data/docs/doc/Hash.html +1 -1
  133. data/docs/doc/Numeric.html +23 -78
  134. data/docs/doc/Object.html +1 -1
  135. data/docs/doc/PhraseParser/Operator.html +1 -1
  136. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  137. data/docs/doc/PhraseParser/Query.html +1 -1
  138. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  139. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  140. data/docs/doc/PhraseParser/TermClause.html +1 -1
  141. data/docs/doc/PhraseParser.html +1 -1
  142. data/docs/doc/Status.html +1 -1
  143. data/docs/doc/String.html +58 -633
  144. data/docs/doc/Symbol.html +9 -224
  145. data/docs/doc/Time.html +119 -13
  146. data/docs/doc/TrueClass.html +1 -1
  147. data/docs/doc/_index.html +348 -4
  148. data/docs/doc/class_list.html +1 -1
  149. data/docs/doc/file.README.html +2 -2
  150. data/docs/doc/index.html +2 -2
  151. data/docs/doc/method_list.html +1904 -592
  152. data/docs/doc/top-level-namespace.html +12 -4
  153. data/docs/index.md +1 -1
  154. data/doing.rdoc +67 -15
  155. data/lib/completion/_doing.zsh +6 -6
  156. data/lib/completion/doing.bash +10 -10
  157. data/lib/completion/doing.fish +10 -3
  158. data/lib/doing/add_options.rb +39 -1
  159. data/lib/doing/array/array.rb +18 -12
  160. data/lib/doing/array/cleanup.rb +31 -0
  161. data/lib/doing/array/nested_hash.rb +1 -1
  162. data/lib/doing/array/tags.rb +6 -5
  163. data/lib/doing/changelog/changelog.rb +6 -0
  164. data/lib/doing/chronify/array.rb +65 -25
  165. data/lib/doing/chronify/chronify.rb +12 -0
  166. data/lib/doing/chronify/numeric.rb +3 -2
  167. data/lib/doing/chronify/string.rb +1 -1
  168. data/lib/doing/colors.rb +77 -30
  169. data/lib/doing/completion/completion_string.rb +25 -0
  170. data/lib/doing/completion.rb +4 -5
  171. data/lib/doing/configuration.rb +7 -3
  172. data/lib/doing/errors.rb +51 -35
  173. data/lib/doing/good.rb +8 -0
  174. data/lib/doing/hooks.rb +3 -3
  175. data/lib/doing/item/dates.rb +112 -0
  176. data/lib/doing/item/item.rb +128 -0
  177. data/lib/doing/{item.rb → item/query.rb} +2 -353
  178. data/lib/doing/item/state.rb +59 -0
  179. data/lib/doing/item/tags.rb +87 -0
  180. data/lib/doing/items/filter.rb +67 -0
  181. data/lib/doing/items/items.rb +57 -0
  182. data/lib/doing/items/modify.rb +36 -0
  183. data/lib/doing/items/sections.rb +83 -0
  184. data/lib/doing/items/util.rb +74 -0
  185. data/lib/doing/normalize.rb +10 -2
  186. data/lib/doing/note.rb +1 -1
  187. data/lib/doing/pager.rb +9 -3
  188. data/lib/doing/plugin_manager.rb +33 -8
  189. data/lib/doing/plugins/export/markdown_export.rb +4 -2
  190. data/lib/doing/plugins/export/template_export.rb +4 -4
  191. data/lib/doing/plugins/import/cal_to_json.scpt +0 -0
  192. data/lib/doing/plugins/import/doing_import.rb +1 -1
  193. data/lib/doing/prompt/choose.rb +118 -0
  194. data/lib/doing/prompt/fzf.rb +84 -0
  195. data/lib/doing/prompt/input.rb +129 -0
  196. data/lib/doing/prompt/prompt.rb +41 -0
  197. data/lib/doing/prompt/std.rb +32 -0
  198. data/lib/doing/prompt/yn.rb +64 -0
  199. data/lib/doing/section.rb +4 -0
  200. data/lib/doing/string/highlight.rb +1 -1
  201. data/lib/doing/string/query.rb +1 -1
  202. data/lib/doing/string/string.rb +18 -7
  203. data/lib/doing/string/tags.rb +14 -3
  204. data/lib/doing/string/transform.rb +7 -1
  205. data/lib/doing/string/truncate.rb +1 -1
  206. data/lib/doing/string/url.rb +1 -1
  207. data/lib/doing/time.rb +19 -1
  208. data/lib/doing/util.rb +12 -6
  209. data/lib/doing/util_backup.rb +62 -57
  210. data/lib/doing/version.rb +1 -1
  211. data/lib/doing/wwid/display.rb +396 -0
  212. data/lib/doing/wwid/editor.rb +214 -0
  213. data/lib/doing/wwid/filetools.rb +183 -0
  214. data/lib/doing/wwid/filter.rb +226 -0
  215. data/lib/doing/wwid/guess.rb +85 -0
  216. data/lib/doing/wwid/interactive.rb +377 -0
  217. data/lib/doing/wwid/modify.rb +617 -0
  218. data/lib/doing/wwid/tags.rb +51 -0
  219. data/lib/doing/wwid/timers.rb +342 -0
  220. data/lib/doing/wwid/wwid.rb +121 -0
  221. data/lib/doing/wwid/wwidutil.rb +101 -0
  222. data/lib/doing.rb +7 -7
  223. data/lib/helpers/threaded_tests.rb +1 -0
  224. metadata +94 -14
  225. data/lib/doing/changelog.rb +0 -6
  226. data/lib/doing/completion/string.rb +0 -17
  227. data/lib/doing/items.rb +0 -196
  228. data/lib/doing/prompt.rb +0 -330
  229. data/lib/doing/wwid.rb +0 -2398
@@ -0,0 +1,884 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: Doing::StringTags
8
+
9
+ &mdash; Documentation by YARD 0.9.27
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Doing::StringTags";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (S)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Doing.html" title="Doing (module)">Doing</a></span></span>
41
+ &raquo;
42
+ <span class="title">StringTags</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: Doing::StringTags
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ <dl>
78
+ <dt>Included in:</dt>
79
+ <dd><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></dd>
80
+ </dl>
81
+
82
+
83
+
84
+ <dl>
85
+ <dt>Defined in:</dt>
86
+ <dd>lib/doing/string/tags.rb</dd>
87
+ </dl>
88
+
89
+ </div>
90
+
91
+ <h2>Overview</h2><div class="docstring">
92
+ <div class="discussion">
93
+ <p>Handling of @tags in strings</p>
94
+
95
+
96
+ </div>
97
+ </div>
98
+ <div class="tags">
99
+
100
+
101
+ </div>
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ <h2>
110
+ Instance Method Summary
111
+ <small><a href="#" class="summary_toggle">collapse</a></small>
112
+ </h2>
113
+
114
+ <ul class="summary">
115
+
116
+ <li class="public ">
117
+ <span class="summary_signature">
118
+
119
+ <a href="#add_at-instance_method" title="#add_at (instance method)">#<strong>add_at</strong> &#x21d2; String </a>
120
+
121
+
122
+
123
+ </span>
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ <span class="summary_desc"><div class='inline'><p>Add @ prefix to string if needed, maintains +/- prefix.</p>
134
+ </div></span>
135
+
136
+ </li>
137
+
138
+
139
+ <li class="public ">
140
+ <span class="summary_signature">
141
+
142
+ <a href="#add_tags-instance_method" title="#add_tags (instance method)">#<strong>add_tags</strong>(tags, remove: false) &#x21d2; String </a>
143
+
144
+
145
+
146
+ </span>
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+ <span class="summary_desc"><div class='inline'><p>Adds tags to a string.</p>
157
+ </div></span>
158
+
159
+ </li>
160
+
161
+
162
+ <li class="public ">
163
+ <span class="summary_signature">
164
+
165
+ <a href="#add_tags!-instance_method" title="#add_tags! (instance method)">#<strong>add_tags!</strong>(tags, remove: false) &#x21d2; Object </a>
166
+
167
+
168
+
169
+ </span>
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <span class="summary_desc"><div class='inline'></div></span>
180
+
181
+ </li>
182
+
183
+
184
+ <li class="public ">
185
+ <span class="summary_signature">
186
+
187
+ <a href="#dedup_tags-instance_method" title="#dedup_tags (instance method)">#<strong>dedup_tags</strong> &#x21d2; Object </a>
188
+
189
+
190
+
191
+ </span>
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+ <span class="summary_desc"><div class='inline'><p>Remove duplicate tags, leaving only first occurrence.</p>
202
+ </div></span>
203
+
204
+ </li>
205
+
206
+
207
+ <li class="public ">
208
+ <span class="summary_signature">
209
+
210
+ <a href="#dedup_tags!-instance_method" title="#dedup_tags! (instance method)">#<strong>dedup_tags!</strong> &#x21d2; Object </a>
211
+
212
+
213
+
214
+ </span>
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+ <span class="summary_desc"><div class='inline'></div></span>
225
+
226
+ </li>
227
+
228
+
229
+ <li class="public ">
230
+ <span class="summary_signature">
231
+
232
+ <a href="#remove_at-instance_method" title="#remove_at (instance method)">#<strong>remove_at</strong> &#x21d2; String </a>
233
+
234
+
235
+
236
+ </span>
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+ <span class="summary_desc"><div class='inline'><p>Removes @ prefix if needed, maintains +/- prefix.</p>
247
+ </div></span>
248
+
249
+ </li>
250
+
251
+
252
+ <li class="public ">
253
+ <span class="summary_signature">
254
+
255
+ <a href="#split_tags-instance_method" title="#split_tags (instance method)">#<strong>split_tags</strong> &#x21d2; Array </a>
256
+
257
+
258
+
259
+ </span>
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ <span class="summary_desc"><div class='inline'><p>Split a string of tags, remove @ symbols, with or without @ symbols, with or without parenthetical values.</p>
270
+ </div></span>
271
+
272
+ </li>
273
+
274
+
275
+ <li class="public ">
276
+ <span class="summary_signature">
277
+
278
+ <a href="#tag-instance_method" title="#tag (instance method)">#<strong>tag</strong>(tag, value: nil, remove: false, rename_to: nil, regex: false, single: false, force: false) &#x21d2; String </a>
279
+
280
+
281
+
282
+ </span>
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+ <span class="summary_desc"><div class='inline'><p>Add, rename, or remove a tag.</p>
293
+ </div></span>
294
+
295
+ </li>
296
+
297
+
298
+ <li class="public ">
299
+ <span class="summary_signature">
300
+
301
+ <a href="#tag!-instance_method" title="#tag! (instance method)">#<strong>tag!</strong>(tag, **options) &#x21d2; Object </a>
302
+
303
+
304
+
305
+ </span>
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+ <span class="summary_desc"><div class='inline'><p>Add, rename, or remove a tag in place.</p>
316
+ </div></span>
317
+
318
+ </li>
319
+
320
+
321
+ <li class="public ">
322
+ <span class="summary_signature">
323
+
324
+ <a href="#to_tags-instance_method" title="#to_tags (instance method)">#<strong>to_tags</strong> &#x21d2; Array </a>
325
+
326
+
327
+
328
+ </span>
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+ <span class="summary_desc"><div class='inline'><p>Convert a list of tags to an array.</p>
339
+ </div></span>
340
+
341
+ </li>
342
+
343
+
344
+ </ul>
345
+
346
+
347
+
348
+
349
+ <div id="instance_method_details" class="method_details_list">
350
+ <h2>Instance Method Details</h2>
351
+
352
+
353
+ <div class="method_details first">
354
+ <h3 class="signature first" id="add_at-instance_method">
355
+
356
+ #<strong>add_at</strong> &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
357
+
358
+
359
+
360
+
361
+
362
+ </h3><div class="docstring">
363
+ <div class="discussion">
364
+ <p>Add @ prefix to string if needed, maintains +/- prefix</p>
365
+
366
+
367
+ </div>
368
+ </div>
369
+ <div class="tags">
370
+
371
+ <p class="tag_title">Returns:</p>
372
+ <ul class="return">
373
+
374
+ <li>
375
+
376
+
377
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
378
+
379
+
380
+
381
+ &mdash;
382
+ <div class='inline'><p>@string</p>
383
+ </div>
384
+
385
+ </li>
386
+
387
+ </ul>
388
+
389
+ </div>
390
+ </div>
391
+
392
+ <div class="method_details ">
393
+ <h3 class="signature " id="add_tags-instance_method">
394
+
395
+ #<strong>add_tags</strong>(tags, remove: false) &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
396
+
397
+
398
+
399
+
400
+
401
+ </h3><div class="docstring">
402
+ <div class="discussion">
403
+ <p>Adds tags to a string</p>
404
+
405
+
406
+ </div>
407
+ </div>
408
+ <div class="tags">
409
+ <p class="tag_title">Parameters:</p>
410
+ <ul class="param">
411
+
412
+ <li>
413
+
414
+ <span class='name'>tags</span>
415
+
416
+
417
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span> or <span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
418
+
419
+
420
+
421
+ &mdash;
422
+ <div class='inline'><p>List of tags to add. @ symbol optional</p>
423
+ </div>
424
+
425
+ </li>
426
+
427
+ <li>
428
+
429
+ <span class='name'>remove</span>
430
+
431
+
432
+ <span class='type'>(<tt>Boolean</tt>)</span>
433
+
434
+
435
+ <em class="default">(defaults to: <tt>false</tt>)</em>
436
+
437
+
438
+ &mdash;
439
+ <div class='inline'><p>remove tags instead of adding</p>
440
+ </div>
441
+
442
+ </li>
443
+
444
+ </ul>
445
+
446
+ <p class="tag_title">Returns:</p>
447
+ <ul class="return">
448
+
449
+ <li>
450
+
451
+
452
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
453
+
454
+
455
+
456
+ &mdash;
457
+ <div class='inline'><p>the tagged string</p>
458
+ </div>
459
+
460
+ </li>
461
+
462
+ </ul>
463
+
464
+ </div>
465
+ </div>
466
+
467
+ <div class="method_details ">
468
+ <h3 class="signature " id="add_tags!-instance_method">
469
+
470
+ #<strong>add_tags!</strong>(tags, remove: false) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
471
+
472
+
473
+
474
+
475
+
476
+ </h3><div class="docstring">
477
+ <div class="discussion">
478
+
479
+
480
+ </div>
481
+ </div>
482
+ <div class="tags">
483
+
484
+
485
+ <p class="tag_title">See Also:</p>
486
+ <ul class="see">
487
+
488
+ <li><span class='object_link'><a href="#add_tags-instance_method" title="Doing::StringTags#add_tags (method)">#add_tags</a></span></li>
489
+
490
+ </ul>
491
+
492
+ </div>
493
+ </div>
494
+
495
+ <div class="method_details ">
496
+ <h3 class="signature " id="dedup_tags-instance_method">
497
+
498
+ #<strong>dedup_tags</strong> &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
499
+
500
+
501
+
502
+
503
+
504
+ </h3><div class="docstring">
505
+ <div class="discussion">
506
+ <p>Remove duplicate tags, leaving only first occurrence</p>
507
+
508
+
509
+ </div>
510
+ </div>
511
+ <div class="tags">
512
+
513
+ <p class="tag_title">Returns:</p>
514
+ <ul class="return">
515
+
516
+ <li>
517
+
518
+
519
+ <span class='type'></span>
520
+
521
+
522
+
523
+
524
+ <div class='inline'><p>Deduplicated string</p>
525
+ </div>
526
+
527
+ </li>
528
+
529
+ </ul>
530
+
531
+ </div>
532
+ </div>
533
+
534
+ <div class="method_details ">
535
+ <h3 class="signature " id="dedup_tags!-instance_method">
536
+
537
+ #<strong>dedup_tags!</strong> &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
538
+
539
+
540
+
541
+
542
+
543
+ </h3><div class="docstring">
544
+ <div class="discussion">
545
+
546
+
547
+ </div>
548
+ </div>
549
+ <div class="tags">
550
+
551
+
552
+ <p class="tag_title">See Also:</p>
553
+ <ul class="see">
554
+
555
+ <li><span class='object_link'><a href="#dedup_tags-instance_method" title="Doing::StringTags#dedup_tags (method)">#dedup_tags</a></span></li>
556
+
557
+ </ul>
558
+
559
+ </div>
560
+ </div>
561
+
562
+ <div class="method_details ">
563
+ <h3 class="signature " id="remove_at-instance_method">
564
+
565
+ #<strong>remove_at</strong> &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
566
+
567
+
568
+
569
+
570
+
571
+ </h3><div class="docstring">
572
+ <div class="discussion">
573
+ <p>Removes @ prefix if needed, maintains +/- prefix</p>
574
+
575
+
576
+ </div>
577
+ </div>
578
+ <div class="tags">
579
+
580
+ <p class="tag_title">Returns:</p>
581
+ <ul class="return">
582
+
583
+ <li>
584
+
585
+
586
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
587
+
588
+
589
+
590
+ &mdash;
591
+ <div class='inline'><p>string without @ prefix</p>
592
+ </div>
593
+
594
+ </li>
595
+
596
+ </ul>
597
+
598
+ </div>
599
+ </div>
600
+
601
+ <div class="method_details ">
602
+ <h3 class="signature " id="split_tags-instance_method">
603
+
604
+ #<strong>split_tags</strong> &#x21d2; <tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>
605
+
606
+
607
+
608
+
609
+
610
+ </h3><div class="docstring">
611
+ <div class="discussion">
612
+ <p>Split a string of tags, remove @ symbols, with or
613
+ without @ symbols, with or without parenthetical
614
+ values</p>
615
+
616
+
617
+ </div>
618
+ </div>
619
+ <div class="tags">
620
+
621
+ <p class="tag_title">Returns:</p>
622
+ <ul class="return">
623
+
624
+ <li>
625
+
626
+
627
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
628
+
629
+
630
+
631
+ &mdash;
632
+ <div class='inline'><p>array of tags without @ symbols</p>
633
+ </div>
634
+
635
+ </li>
636
+
637
+ </ul>
638
+
639
+ </div>
640
+ </div>
641
+
642
+ <div class="method_details ">
643
+ <h3 class="signature " id="tag-instance_method">
644
+
645
+ #<strong>tag</strong>(tag, value: nil, remove: false, rename_to: nil, regex: false, single: false, force: false) &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
646
+
647
+
648
+
649
+
650
+
651
+ </h3><div class="docstring">
652
+ <div class="discussion">
653
+ <p>Add, rename, or remove a tag</p>
654
+
655
+
656
+ </div>
657
+ </div>
658
+ <div class="tags">
659
+ <p class="tag_title">Parameters:</p>
660
+ <ul class="param">
661
+
662
+ <li>
663
+
664
+ <span class='name'>tag</span>
665
+
666
+
667
+ <span class='type'></span>
668
+
669
+
670
+
671
+ &mdash;
672
+ <div class='inline'><p>The tag</p>
673
+ </div>
674
+
675
+ </li>
676
+
677
+ <li>
678
+
679
+ <span class='name'>value</span>
680
+
681
+
682
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
683
+
684
+
685
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
686
+
687
+
688
+ &mdash;
689
+ <div class='inline'><p>Value for tag (@tag(value))</p>
690
+ </div>
691
+
692
+ </li>
693
+
694
+ <li>
695
+
696
+ <span class='name'>remove</span>
697
+
698
+
699
+ <span class='type'>(<tt>Boolean</tt>)</span>
700
+
701
+
702
+ <em class="default">(defaults to: <tt>false</tt>)</em>
703
+
704
+
705
+ &mdash;
706
+ <div class='inline'><p>Remove the tag instead of adding</p>
707
+ </div>
708
+
709
+ </li>
710
+
711
+ <li>
712
+
713
+ <span class='name'>rename_to</span>
714
+
715
+
716
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
717
+
718
+
719
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
720
+
721
+
722
+ &mdash;
723
+ <div class='inline'><p>Replace tag with this tag</p>
724
+ </div>
725
+
726
+ </li>
727
+
728
+ <li>
729
+
730
+ <span class='name'>regex</span>
731
+
732
+
733
+ <span class='type'>(<tt>Boolean</tt>)</span>
734
+
735
+
736
+ <em class="default">(defaults to: <tt>false</tt>)</em>
737
+
738
+
739
+ &mdash;
740
+ <div class='inline'><p>Tag is regular expression</p>
741
+ </div>
742
+
743
+ </li>
744
+
745
+ <li>
746
+
747
+ <span class='name'>single</span>
748
+
749
+
750
+ <span class='type'>(<tt>Boolean</tt>)</span>
751
+
752
+
753
+ <em class="default">(defaults to: <tt>false</tt>)</em>
754
+
755
+
756
+ &mdash;
757
+ <div class='inline'><p>Operating on a single item (for logging)</p>
758
+ </div>
759
+
760
+ </li>
761
+
762
+ <li>
763
+
764
+ <span class='name'>force</span>
765
+
766
+
767
+ <span class='type'>(<tt>Boolean</tt>)</span>
768
+
769
+
770
+ <em class="default">(defaults to: <tt>false</tt>)</em>
771
+
772
+
773
+ &mdash;
774
+ <div class='inline'><p>With rename_to, add tag if it doesn&#39;t exist</p>
775
+ </div>
776
+
777
+ </li>
778
+
779
+ </ul>
780
+
781
+ <p class="tag_title">Returns:</p>
782
+ <ul class="return">
783
+
784
+ <li>
785
+
786
+
787
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
788
+
789
+
790
+
791
+ &mdash;
792
+ <div class='inline'><p>The string with modified tags</p>
793
+ </div>
794
+
795
+ </li>
796
+
797
+ </ul>
798
+
799
+ </div>
800
+ </div>
801
+
802
+ <div class="method_details ">
803
+ <h3 class="signature " id="tag!-instance_method">
804
+
805
+ #<strong>tag!</strong>(tag, **options) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
806
+
807
+
808
+
809
+
810
+
811
+ </h3><div class="docstring">
812
+ <div class="discussion">
813
+ <p>Add, rename, or remove a tag in place</p>
814
+
815
+
816
+ </div>
817
+ </div>
818
+ <div class="tags">
819
+
820
+
821
+ <p class="tag_title">See Also:</p>
822
+ <ul class="see">
823
+
824
+ <li><span class='object_link'><a href="#tag-instance_method" title="Doing::StringTags#tag (method)">#tag</a></span></li>
825
+
826
+ </ul>
827
+
828
+ </div>
829
+ </div>
830
+
831
+ <div class="method_details ">
832
+ <h3 class="signature " id="to_tags-instance_method">
833
+
834
+ #<strong>to_tags</strong> &#x21d2; <tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>
835
+
836
+
837
+
838
+
839
+
840
+ </h3><div class="docstring">
841
+ <div class="discussion">
842
+ <p>Convert a list of tags to an array. Tags can be with
843
+ or without @ symbols, separated by any character, and
844
+ can include parenthetical values (with spaces)</p>
845
+
846
+
847
+ </div>
848
+ </div>
849
+ <div class="tags">
850
+
851
+ <p class="tag_title">Returns:</p>
852
+ <ul class="return">
853
+
854
+ <li>
855
+
856
+
857
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
858
+
859
+
860
+
861
+ &mdash;
862
+ <div class='inline'><p>array of tags including @ symbols</p>
863
+ </div>
864
+
865
+ </li>
866
+
867
+ </ul>
868
+
869
+ </div>
870
+ </div>
871
+
872
+ </div>
873
+
874
+ </div>
875
+
876
+ <div id="footer">
877
+ Generated on Fri Mar 18 12:56:57 2022 by
878
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
879
+ 0.9.27 (ruby-3.0.1).
880
+ </div>
881
+
882
+ </div>
883
+ </body>
884
+ </html>