doing 2.1.31pre → 2.1.35

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +58 -1
  3. data/Dockerfile-2.6 +3 -1
  4. data/Dockerfile-2.7 +4 -2
  5. data/Dockerfile-3.0 +3 -1
  6. data/Gemfile.lock +1 -71
  7. data/README.md +1 -1
  8. data/bash_profile +13 -0
  9. data/bin/commands/config.rb +16 -13
  10. data/bin/commands/done.rb +1 -1
  11. data/bin/commands/grep.rb +2 -29
  12. data/bin/commands/meanwhile.rb +1 -1
  13. data/bin/commands/now.rb +1 -1
  14. data/bin/commands/on.rb +6 -16
  15. data/bin/commands/open.rb +2 -2
  16. data/bin/commands/recent.rb +2 -14
  17. data/bin/commands/rotate.rb +17 -0
  18. data/bin/commands/sections.rb +82 -7
  19. data/bin/commands/show.rb +1 -21
  20. data/bin/commands/since.rb +5 -16
  21. data/bin/commands/tag_dir.rb +27 -3
  22. data/bin/commands/today.rb +3 -28
  23. data/bin/commands/yesterday.rb +2 -35
  24. data/bin/doing +9 -8
  25. data/docs/doc/Array.html +1 -1
  26. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  27. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  28. data/docs/doc/BooleanTermParser/Query.html +1 -1
  29. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  30. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  31. data/docs/doc/BooleanTermParser.html +1 -1
  32. data/docs/doc/Doing/Color.html +1 -1
  33. data/docs/doc/Doing/Completion.html +1 -1
  34. data/docs/doc/Doing/Configuration.html +3 -3
  35. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  36. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  37. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  38. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  39. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  40. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  41. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  42. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  43. data/docs/doc/Doing/Errors.html +1 -1
  44. data/docs/doc/Doing/Hooks.html +1 -1
  45. data/docs/doc/Doing/Item.html +20 -3
  46. data/docs/doc/Doing/Items.html +209 -1
  47. data/docs/doc/Doing/LogAdapter.html +1 -1
  48. data/docs/doc/Doing/Logger.html +1807 -0
  49. data/docs/doc/Doing/Note.html +1 -1
  50. data/docs/doc/Doing/Pager.html +1 -1
  51. data/docs/doc/Doing/Plugins.html +1 -1
  52. data/docs/doc/Doing/Prompt.html +1 -1
  53. data/docs/doc/Doing/Section.html +1 -1
  54. data/docs/doc/Doing/TemplateString.html +1 -1
  55. data/docs/doc/Doing/Types.html +3 -3
  56. data/docs/doc/Doing/Util/Backup.html +1 -1
  57. data/docs/doc/Doing/Util.html +1 -1
  58. data/docs/doc/Doing/WWID.html +3 -53
  59. data/docs/doc/Doing.html +4 -4
  60. data/docs/doc/FalseClass.html +1 -1
  61. data/docs/doc/GLI/Commands/Help.html +1 -1
  62. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  63. data/docs/doc/GLI/Commands.html +1 -1
  64. data/docs/doc/GLI.html +1 -1
  65. data/docs/doc/Hash.html +1 -1
  66. data/docs/doc/Object.html +1 -1
  67. data/docs/doc/PhraseParser/Operator.html +1 -1
  68. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  69. data/docs/doc/PhraseParser/Query.html +1 -1
  70. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  71. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  72. data/docs/doc/PhraseParser/TermClause.html +1 -1
  73. data/docs/doc/PhraseParser.html +1 -1
  74. data/docs/doc/Status.html +1 -1
  75. data/docs/doc/String.html +1 -1
  76. data/docs/doc/Symbol.html +1 -1
  77. data/docs/doc/Time.html +1 -1
  78. data/docs/doc/TrueClass.html +1 -1
  79. data/docs/doc/_index.html +10 -10
  80. data/docs/doc/class_list.html +1 -1
  81. data/docs/doc/file.README.html +2 -2
  82. data/docs/doc/index.html +2 -2
  83. data/docs/doc/method_list.html +407 -383
  84. data/docs/doc/top-level-namespace.html +1 -1
  85. data/docs/index.md +1 -1
  86. data/doing.gemspec +23 -24
  87. data/doing.rdoc +235 -18
  88. data/inputrc +57 -0
  89. data/lib/completion/_doing.zsh +47 -51
  90. data/lib/completion/doing.bash +12 -23
  91. data/lib/completion/doing.fish +39 -12
  92. data/lib/doing/add_options.rb +36 -1
  93. data/lib/doing/changelog/changes.rb +1 -1
  94. data/lib/doing/chronify/string.rb +1 -1
  95. data/lib/doing/completion/bash_completion.rb +1 -1
  96. data/lib/doing/completion/fish_completion.rb +2 -2
  97. data/lib/doing/completion/zsh_completion.rb +10 -4
  98. data/lib/doing/configuration.rb +7 -1
  99. data/lib/doing/item.rb +9 -2
  100. data/lib/doing/items.rb +48 -0
  101. data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
  102. data/lib/doing/plugins/import/calendar_import.rb +1 -1
  103. data/lib/doing/plugins/import/doing_import.rb +1 -1
  104. data/lib/doing/plugins/import/timing_import.rb +1 -1
  105. data/lib/doing/string/tags.rb +1 -1
  106. data/lib/doing/types.rb +2 -2
  107. data/lib/doing/version.rb +1 -1
  108. data/lib/doing/wwid.rb +43 -43
  109. data/lib/doing.rb +4 -4
  110. data/lib/examples/plugins/capture_thing_import.rb +1 -1
  111. data/lib/helpers/threaded_tests.rb +2 -0
  112. metadata +101 -138
  113. data/.yardoc/checksums +0 -30
  114. data/.yardoc/complete +0 -0
  115. data/.yardoc/object_types +0 -0
  116. data/.yardoc/objects/root.dat +0 -0
  117. data/.yardoc/proxy_types +0 -0
  118. data/bin/commands/add_section.rb +0 -15
@@ -11,20 +11,6 @@ command :since do |c|
11
11
  c.arg_name 'NAME'
12
12
  c.flag %i[s section], default_value: 'All'
13
13
 
14
- c.desc 'Show time intervals on @done tasks'
15
- c.switch %i[t times], default_value: true, negatable: true
16
-
17
- c.desc 'Show elapsed time on entries without @done tag'
18
- c.switch [:duration]
19
-
20
- c.desc 'Show time totals at the end of output'
21
- c.switch [:totals], default_value: false, negatable: false
22
-
23
- c.desc 'Sort tags by (name|time)'
24
- default = Doing.setting('tag_sort').normalize_tag_sort || :name
25
- c.arg_name 'KEY'
26
- c.flag [:tag_sort], must_match: REGEX_TAG_SORT, default_value: default, type: TagSortSymbol
27
-
28
14
  c.desc "Output to export format (#{Doing::Plugins.plugin_names(type: :export)})"
29
15
  c.arg_name 'FORMAT'
30
16
  c.flag %i[o output]
@@ -37,6 +23,10 @@ command :since do |c|
37
23
  c.arg_name 'TEMPLATE_STRING'
38
24
  c.flag [:template]
39
25
 
26
+ add_options(:time_display, c)
27
+ add_options(:tag_filter, c)
28
+ add_options(:search, c)
29
+
40
30
  c.action do |_global_options, options, args|
41
31
  raise DoingRuntimeError, %(Invalid output type "#{options[:output]}") if options[:output] && options[:output] !~ Doing::Plugins.plugin_regex(type: :export)
42
32
 
@@ -57,7 +47,6 @@ command :since do |c|
57
47
  options[:times] = true if options[:totals]
58
48
  options[:sort_tags] = options[:tag_sort]
59
49
 
60
- Doing::Pager.page @wwid.list_date([start, finish], options[:section], options[:times], options[:output],
61
- { template: options[:template], config_template: options[:config_template], duration: options[:duration], totals: options[:totals], sort_tags: options[:sort_tags] }).chomp
50
+ Doing::Pager.page @wwid.list_date([start, finish], options[:section], options[:times], options[:output], options).chomp
62
51
  end
63
52
  end
@@ -5,7 +5,7 @@ subdirectories will be tagged with the default tags. You can modify these any ti
5
5
  manually editing the .doingrc file.'
6
6
  arg_name 'TAG [TAG..]'
7
7
  command :tag_dir do |c|
8
- c.example 'doing tag_dir project1 project2', desc: 'Add @project1 and @project to to any entries in the current directory'
8
+ c.example 'doing tag_dir project1 project2', desc: 'Add @project1 and @project2 to to any entries created from the current directory'
9
9
  c.example 'doing tag_dir --remove', desc: 'Clear the default tags for the directory'
10
10
 
11
11
  c.desc 'Remove all default_tags from the local .doingrc'
@@ -16,14 +16,38 @@ command :tag_dir do |c|
16
16
 
17
17
  cfg_cmd = commands[:config]
18
18
  set_cmd = cfg_cmd.commands[:set]
19
- set_options = {}
19
+
20
+ set_options = { local: true }
20
21
  if options[:remove]
21
22
  set_args = ['default_tags']
22
23
  set_options[:remove] = true
23
24
  else
25
+ current_tags = Doing.setting('default_tags')
26
+
27
+ tags.delete_if do |tag|
28
+ if current_tags.include?(tag)
29
+ Doing.logger.info('Skipped:', "#{tag} is already applied by existing config")
30
+ true
31
+ else
32
+ false
33
+ end
34
+ end
35
+
36
+ raise EmptyInput, 'No new tags provided' if tags.empty?
37
+
38
+ if File.exist?('.doingrc')
39
+ local = Doing::Util.safe_load_file('.doingrc')
40
+ dir_tags = local['default_tags'] || []
41
+
42
+ tags.concat(dir_tags)
43
+ tags.sort!.uniq!
44
+
45
+ raise UserCancelled, 'Tag(s) already exist for directory' if tags == dir_tags.sort
46
+ end
47
+
24
48
  set_args = ['default_tags', tags.join(',')]
25
49
  end
26
50
  action = set_cmd.send(:get_action, nil)
27
- return action.call(global, set_options, set_args)
51
+ action.call(global, set_options, set_args)
28
52
  end
29
53
  end
@@ -12,20 +12,6 @@ command :today do |c|
12
12
  c.arg_name 'NAME'
13
13
  c.flag %i[s section], default_value: 'All'
14
14
 
15
- c.desc 'Show time intervals on @done tasks'
16
- c.switch %i[t times], default_value: true, negatable: true
17
-
18
- c.desc 'Show elapsed time on entries without @done tag'
19
- c.switch [:duration]
20
-
21
- c.desc 'Show time totals at the end of output'
22
- c.switch [:totals], default_value: false, negatable: false
23
-
24
- c.desc 'Sort tags by (name|time)'
25
- default = Doing.setting('tag_sort').normalize_tag_sort || :name
26
- c.arg_name 'KEY'
27
- c.flag [:tag_sort], must_match: REGEX_TAG_SORT, default_value: default, type: TagSortSymbol
28
-
29
15
  c.desc "Output to export format (#{Doing::Plugins.plugin_names(type: :export)})"
30
16
  c.arg_name 'FORMAT'
31
17
  c.flag %i[o output]
@@ -38,26 +24,15 @@ command :today do |c|
38
24
  c.arg_name 'TEMPLATE_STRING'
39
25
  c.flag [:template]
40
26
 
41
- c.desc 'View entries before specified time (e.g. 8am, 12:30pm, 15:00)'
42
- c.arg_name 'TIME_STRING'
43
- c.flag [:before]
44
-
45
- c.desc 'View entries after specified time (e.g. 8am, 12:30pm, 15:00)'
46
- c.arg_name 'TIME_STRING'
47
- c.flag [:after]
48
-
49
- c.desc %(
50
- Time range to show `doing today --from "12pm to 4pm"`
51
- )
52
- c.arg_name 'TIME_RANGE'
53
- c.flag [:from], type: DateRangeString
27
+ add_options(:time_filter, c)
28
+ add_options(:time_display, c)
54
29
 
55
30
  c.action do |_global_options, options, _args|
56
31
  raise DoingRuntimeError, %(Invalid output type "#{options[:output]}") if options[:output] && options[:output] !~ Doing::Plugins.plugin_regex(type: :export)
57
32
 
58
33
  options[:times] = true if options[:totals]
59
34
  options[:sort_tags] = options[:tag_sort]
60
- filter_options = %i[after before duration from section sort_tags totals template config_template].each_with_object({}) { |k, hsh| hsh[k] = options[k] }
35
+ filter_options = %i[after before times duration from section sort_tags totals tag_order template config_template only_timed].each_with_object({}) { |k, hsh| hsh[k] = options[k] }
61
36
 
62
37
  Doing::Pager.page @wwid.today(options[:times], options[:output], filter_options).chomp
63
38
  end
@@ -23,47 +23,14 @@ command :yesterday do |c|
23
23
  c.arg_name 'TEMPLATE_STRING'
24
24
  c.flag [:template]
25
25
 
26
- c.desc 'Show time intervals on @done tasks'
27
- c.switch %i[t times], default_value: true, negatable: true
28
-
29
- c.desc 'Show elapsed time on entries without @done tag'
30
- c.switch [:duration]
31
-
32
- c.desc 'Show time totals at the end of output'
33
- c.switch [:totals], default_value: false, negatable: false
34
-
35
- c.desc 'Sort tags by (name|time)'
36
- default = Doing.setting('tag_sort').normalize_tag_sort || :name
37
- c.arg_name 'KEY'
38
- c.flag [:tag_sort], must_match: REGEX_TAG_SORT, default_value: default, type: TagSortSymbol
39
-
40
- c.desc 'View entries before specified time (e.g. 8am, 12:30pm, 15:00)'
41
- c.arg_name 'TIME_STRING'
42
- c.flag [:before]
43
-
44
- c.desc 'View entries after specified time (e.g. 8am, 12:30pm, 15:00)'
45
- c.arg_name 'TIME_STRING'
46
- c.flag [:after]
47
-
48
- c.desc 'Time range to show, e.g. `doing yesterday --from "1am to 8am"`'
49
- c.arg_name 'TIME_RANGE'
50
- c.flag [:from], must_match: REGEX_TIME_RANGE
51
-
52
- c.desc 'Tag sort direction (asc|desc)'
53
- c.arg_name 'DIRECTION'
54
- c.flag [:tag_order], must_match: REGEX_SORT_ORDER, default_value: :asc, type: OrderSymbol
26
+ add_options(:time_filter, c)
27
+ add_options(:time_display, c)
55
28
 
56
29
  c.action do |_global_options, options, _args|
57
30
  raise DoingRuntimeError, %(Invalid output type "#{options[:output]}") if options[:output] && options[:output] !~ Doing::Plugins.plugin_regex(type: :export)
58
31
 
59
32
  options[:sort_tags] = options[:tag_sort]
60
33
 
61
- if options[:from]
62
- options[:from] = options[:from].split(/#{REGEX_RANGE_INDICATOR}/).map do |time|
63
- "yesterday #{time.sub(/(?mi)(^.*?(?=\d+)|(?<=[ap]m).*?$)/, '')}"
64
- end.join(' to ').split_date_range
65
- end
66
-
67
34
  opt = options.clone
68
35
  opt[:order] = Doing.setting(['templates', options[:config_template], 'order'])
69
36
 
data/bin/doing CHANGED
@@ -63,7 +63,6 @@ Doing.set('backup_dir', ENV['DOING_BACKUP_DIR']) if ENV['DOING_BACKUP_DIR']
63
63
 
64
64
  # Set up class vars for backwards compatibility
65
65
  @settings = Doing.settings
66
- @wwid.config = Doing.settings
67
66
 
68
67
  accept BooleanSymbol do |value|
69
68
  value.normalize_bool(:pattern)
@@ -144,8 +143,6 @@ accept TagArray do |value|
144
143
  value.gsub(/[, ]+/, ' ').split(' ').map { |tag| tag.sub(/^@/, '') }.map(&:strip)
145
144
  end
146
145
 
147
- commands_from File.expand_path(Doing.setting('plugins.command_path')) if Doing.setting('plugins.command_path')
148
-
149
146
  program_desc 'A CLI for a What Was I Doing system'
150
147
  program_long_desc %(Doing uses a TaskPaper-like formatting to keep a plain text
151
148
  record of what you've been doing, complete with tag-based time tracking. The
@@ -214,7 +211,7 @@ add_commands(%w[undo redo])
214
211
  ## Hidden commands
215
212
  add_commands(%w[commands_accepting install_fzf])
216
213
  ## Optional commands
217
- add_commands(%w[again cancel flag meanwhile reset tags today yesterday since add_section tag_dir colors completion plugins sections template views changes])
214
+ add_commands(%w[again cancel flag meanwhile reset tags today yesterday since tag_dir colors completion plugins sections template views changes])
218
215
 
219
216
  pre do |global, _command, _options, _args|
220
217
  # global[:pager] ||= Doing.setting('paginate')
@@ -235,8 +232,8 @@ pre do |global, _command, _options, _args|
235
232
  end
236
233
 
237
234
  on_error do |exception|
238
- if exception.kind_of?(GLI::UnknownCommand)
239
- exit run(['now'].concat(ARGV))
235
+ if exception.kind_of?(GLI::UnknownCommand) && ARGV.count > 1
236
+ exit run(['now'].concat(ARGV.unshift(@command)))
240
237
  elsif exception.kind_of?(SystemExit)
241
238
  false
242
239
  else
@@ -255,7 +252,7 @@ post do |global, _command, _options, _args|
255
252
  end
256
253
 
257
254
  around do |global, command, options, arguments, code|
258
- Doing.logger.benchmark("command_#{command.name.to_s}".to_sym, :start)
255
+ Doing.logger.benchmark("command_#{command.name}".to_sym, :start)
259
256
  # Doing.logger.debug('Pager:', "Global: #{global[:pager]}, Config: #{Doing.setting('paginate')}, Pager: #{Doing::Pager.paginate}")
260
257
  if env_log_level.nil?
261
258
  Doing.logger.adjust_verbosity(global)
@@ -298,7 +295,7 @@ around do |global, command, options, arguments, code|
298
295
  @wwid.init_doing_file
299
296
  end
300
297
  Doing.logger.benchmark(:init, :finish)
301
- @wwid.auto_tag = !global[:noauto]
298
+ Doing.auto_tag = !global[:noauto]
302
299
 
303
300
  Doing.set('include_notes', false) unless global[:notes]
304
301
 
@@ -309,4 +306,8 @@ around do |global, command, options, arguments, code|
309
306
  Doing.logger.benchmark("command_#{command.name.to_s}".to_sym, :finish)
310
307
  end
311
308
 
309
+ commands_from File.expand_path(Doing.setting('plugins.command_path')) if Doing.setting('plugins.command_path')
310
+
311
+ @command = ARGV[0]
312
+
312
313
  exit run(ARGV)
data/docs/doc/Array.html CHANGED
@@ -195,7 +195,7 @@ has content</p>
195
195
  </div>
196
196
 
197
197
  <div id="footer">
198
- Generated on Thu Feb 17 13:05:18 2022 by
198
+ Generated on Mon Feb 21 14:59:53 2022 by
199
199
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
200
200
  0.9.27 (ruby-3.0.1).
201
201
  </div>
@@ -283,7 +283,7 @@
283
283
  </div>
284
284
 
285
285
  <div id="footer">
286
- Generated on Thu Feb 17 13:05:19 2022 by
286
+ Generated on Mon Feb 21 14:59:54 2022 by
287
287
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
288
288
  0.9.27 (ruby-3.0.1).
289
289
  </div>
@@ -162,7 +162,7 @@
162
162
  </div>
163
163
 
164
164
  <div id="footer">
165
- Generated on Thu Feb 17 13:05:19 2022 by
165
+ Generated on Mon Feb 21 14:59:54 2022 by
166
166
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
167
  0.9.27 (ruby-3.0.1).
168
168
  </div>
@@ -407,7 +407,7 @@
407
407
  </div>
408
408
 
409
409
  <div id="footer">
410
- Generated on Thu Feb 17 13:05:19 2022 by
410
+ Generated on Mon Feb 21 14:59:54 2022 by
411
411
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
412
412
  0.9.27 (ruby-3.0.1).
413
413
  </div>
@@ -125,7 +125,7 @@ parser. In order to do that, a new &quot;clause&quot; node is added to the parse
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Thu Feb 17 13:05:19 2022 by
128
+ Generated on Mon Feb 21 14:59:54 2022 by
129
129
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
130
  0.9.27 (ruby-3.0.1).
131
131
  </div>
@@ -114,7 +114,7 @@
114
114
  </div>
115
115
 
116
116
  <div id="footer">
117
- Generated on Thu Feb 17 13:05:19 2022 by
117
+ Generated on Mon Feb 21 14:59:54 2022 by
118
118
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
119
119
  0.9.27 (ruby-3.0.1).
120
120
  </div>
@@ -105,7 +105,7 @@
105
105
  </div>
106
106
 
107
107
  <div id="footer">
108
- Generated on Thu Feb 17 13:05:18 2022 by
108
+ Generated on Mon Feb 21 14:59:53 2022 by
109
109
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
110
110
  0.9.27 (ruby-3.0.1).
111
111
  </div>
@@ -518,7 +518,7 @@ ANSI-sequences are stripped from the string.</p>
518
518
  </div>
519
519
 
520
520
  <div id="footer">
521
- Generated on Thu Feb 17 13:05:18 2022 by
521
+ Generated on Mon Feb 21 14:59:53 2022 by
522
522
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
523
523
  0.9.27 (ruby-3.0.1).
524
524
  </div>
@@ -526,7 +526,7 @@ stdout</p>
526
526
  </div>
527
527
 
528
528
  <div id="footer">
529
- Generated on Thu Feb 17 13:05:18 2022 by
529
+ Generated on Mon Feb 21 14:59:53 2022 by
530
530
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
531
531
  0.9.27 (ruby-3.0.1).
532
532
  </div>
@@ -372,7 +372,7 @@
372
372
  <li class="public ">
373
373
  <span class="summary_signature">
374
374
 
375
- <a href="#choose_config-instance_method" title="#choose_config (instance method)">#<strong>choose_config</strong>(create: false) &#x21d2; String </a>
375
+ <a href="#choose_config-instance_method" title="#choose_config (instance method)">#<strong>choose_config</strong>(create: false, local: false) &#x21d2; String </a>
376
376
 
377
377
 
378
378
 
@@ -771,7 +771,7 @@
771
771
  <div class="method_details ">
772
772
  <h3 class="signature " id="choose_config-instance_method">
773
773
 
774
- #<strong>choose_config</strong>(create: false) &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
774
+ #<strong>choose_config</strong>(create: false, local: false) &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
775
775
 
776
776
 
777
777
 
@@ -1139,7 +1139,7 @@ matched, first match wins)</p>
1139
1139
  </div>
1140
1140
 
1141
1141
  <div id="footer">
1142
- Generated on Thu Feb 17 13:05:18 2022 by
1142
+ Generated on Mon Feb 21 14:59:53 2022 by
1143
1143
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1144
1144
  0.9.27 (ruby-3.0.1).
1145
1145
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -238,7 +238,7 @@
238
238
  </div>
239
239
 
240
240
  <div id="footer">
241
- Generated on Thu Feb 17 13:05:18 2022 by
241
+ Generated on Mon Feb 21 14:59:53 2022 by
242
242
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
243
243
  0.9.27 (ruby-3.0.1).
244
244
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Thu Feb 17 13:05:18 2022 by
179
+ Generated on Mon Feb 21 14:59:53 2022 by
180
180
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
181
  0.9.27 (ruby-3.0.1).
182
182
  </div>
@@ -181,7 +181,7 @@
181
181
  </div>
182
182
 
183
183
  <div id="footer">
184
- Generated on Thu Feb 17 13:05:18 2022 by
184
+ Generated on Mon Feb 21 14:59:53 2022 by
185
185
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
186
186
  0.9.27 (ruby-3.0.1).
187
187
  </div>
@@ -354,7 +354,7 @@
354
354
  </div>
355
355
 
356
356
  <div id="footer">
357
- Generated on Thu Feb 17 13:05:18 2022 by
357
+ Generated on Mon Feb 21 14:59:53 2022 by
358
358
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
359
359
  0.9.27 (ruby-3.0.1).
360
360
  </div>
@@ -337,7 +337,7 @@
337
337
  <li class="public ">
338
338
  <span class="summary_signature">
339
339
 
340
- <a href="#equal%3F-instance_method" title="#equal? (instance method)">#<strong>equal?</strong>(other) &#x21d2; Boolean </a>
340
+ <a href="#equal%3F-instance_method" title="#equal? (instance method)">#<strong>equal?</strong>(other, match_section: false) &#x21d2; Boolean </a>
341
341
 
342
342
 
343
343
 
@@ -1145,7 +1145,7 @@ the item belongs</p>
1145
1145
  <div class="method_details ">
1146
1146
  <h3 class="signature " id="equal?-instance_method">
1147
1147
 
1148
- #<strong>equal?</strong>(other) &#x21d2; <tt>Boolean</tt>
1148
+ #<strong>equal?</strong>(other, match_section: false) &#x21d2; <tt>Boolean</tt>
1149
1149
 
1150
1150
 
1151
1151
 
@@ -1177,6 +1177,23 @@ the item belongs</p>
1177
1177
 
1178
1178
  </li>
1179
1179
 
1180
+ <li>
1181
+
1182
+ <span class='name'>match_section</span>
1183
+
1184
+
1185
+ <span class='type'>(<tt>Boolean</tt>)</span>
1186
+
1187
+
1188
+ <em class="default">(defaults to: <tt>false</tt>)</em>
1189
+
1190
+
1191
+ &mdash;
1192
+ <div class='inline'><p>If true, require item sections to match</p>
1193
+ </div>
1194
+
1195
+ </li>
1196
+
1180
1197
  </ul>
1181
1198
 
1182
1199
  <p class="tag_title">Returns:</p>
@@ -2353,7 +2370,7 @@ thus should not receive a date on the @done tag</p>
2353
2370
  </div>
2354
2371
 
2355
2372
  <div id="footer">
2356
- Generated on Thu Feb 17 13:05:18 2022 by
2373
+ Generated on Mon Feb 21 14:59:53 2022 by
2357
2374
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2358
2375
  0.9.27 (ruby-3.0.1).
2359
2376
  </div>