doing 2.1.43 → 2.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/bin/commands/grep.rb +10 -2
- data/bin/commands/on.rb +6 -1
- data/bin/commands/recent.rb +1 -0
- data/bin/commands/show.rb +6 -1
- data/bin/commands/since.rb +5 -2
- data/bin/commands/today.rb +1 -0
- data/bin/commands/views.rb +81 -20
- data/bin/doing +24 -1
- data/docs/doc/Array.html +12 -2
- data/docs/doc/BooleanTermParser/Clause.html +1 -1
- data/docs/doc/BooleanTermParser/Operator.html +1 -1
- data/docs/doc/BooleanTermParser/Query.html +1 -1
- data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
- data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
- data/docs/doc/BooleanTermParser.html +1 -1
- data/docs/doc/Doing/ArrayCleanup.html +1 -1
- data/docs/doc/Doing/ArrayNestedHash.html +1 -1
- data/docs/doc/Doing/ArrayTags.html +1 -1
- data/docs/doc/Doing/CSVExport.html +1 -1
- data/docs/doc/Doing/CalendarImport.html +1 -1
- data/docs/doc/Doing/Change.html +1 -1
- data/docs/doc/Doing/Changes.html +1 -1
- data/docs/doc/Doing/ChronifyArray.html +1 -1
- data/docs/doc/Doing/ChronifyNumeric.html +1 -1
- data/docs/doc/Doing/ChronifyString.html +1 -1
- data/docs/doc/Doing/Color.html +1 -1
- data/docs/doc/Doing/Completion/BashCompletions.html +1 -1
- data/docs/doc/Doing/Completion/FishCompletions.html +1 -1
- data/docs/doc/Doing/Completion/StringUtils.html +1 -1
- data/docs/doc/Doing/Completion/ZshCompletions.html +1 -1
- data/docs/doc/Doing/Completion.html +1 -1
- data/docs/doc/Doing/Configuration.html +1 -1
- data/docs/doc/Doing/DayOneRenderer.html +1 -1
- data/docs/doc/Doing/DayoneExport.html +1 -1
- data/docs/doc/Doing/DoingImport.html +1 -1
- data/docs/doc/Doing/Entry.html +1 -1
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
- data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
- data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
- data/docs/doc/Doing/Errors/HistoryLimitError.html +1 -1
- data/docs/doc/Doing/Errors/InvalidPlugin.html +1 -1
- data/docs/doc/Doing/Errors/MissingBackupFile.html +1 -1
- data/docs/doc/Doing/Errors/NoResults.html +1 -1
- data/docs/doc/Doing/Errors/PluginException.html +1 -1
- data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
- data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
- data/docs/doc/Doing/Errors.html +1 -1
- data/docs/doc/Doing/HTMLExport.html +1 -1
- data/docs/doc/Doing/Hooks.html +1 -1
- data/docs/doc/Doing/Item.html +1 -1
- data/docs/doc/Doing/ItemDates.html +1 -1
- data/docs/doc/Doing/ItemQuery.html +1 -1
- data/docs/doc/Doing/ItemState.html +1 -1
- data/docs/doc/Doing/ItemTags.html +1 -1
- data/docs/doc/Doing/Items.html +1 -1
- data/docs/doc/Doing/JSONExport.html +1 -1
- data/docs/doc/Doing/Logger.html +1 -1
- data/docs/doc/Doing/MarkdownExport.html +1 -1
- data/docs/doc/Doing/Note.html +1 -1
- data/docs/doc/Doing/Pager.html +1 -1
- data/docs/doc/Doing/Plugins.html +1 -1
- data/docs/doc/Doing/Prompt.html +1 -1
- data/docs/doc/Doing/PromptChoose.html +1 -1
- data/docs/doc/Doing/PromptFZF.html +1 -1
- data/docs/doc/Doing/PromptInput.html +1 -1
- data/docs/doc/Doing/PromptSTD.html +1 -1
- data/docs/doc/Doing/PromptYN.html +1 -1
- data/docs/doc/Doing/Section.html +1 -1
- data/docs/doc/Doing/StringHighlight.html +1 -1
- data/docs/doc/Doing/StringNormalize.html +1 -1
- data/docs/doc/Doing/StringQuery.html +1 -1
- data/docs/doc/Doing/StringTags.html +1 -1
- data/docs/doc/Doing/StringTransform.html +1 -1
- data/docs/doc/Doing/StringTruncate.html +1 -1
- data/docs/doc/Doing/StringURL.html +1 -1
- data/docs/doc/Doing/SymbolNormalize.html +1 -1
- data/docs/doc/Doing/TaskPaperExport.html +1 -1
- data/docs/doc/Doing/TemplateExport.html +1 -1
- data/docs/doc/Doing/TemplateString.html +1 -1
- data/docs/doc/Doing/TimingImport.html +1 -1
- data/docs/doc/Doing/Types.html +23 -18
- data/docs/doc/Doing/Util/Backup.html +1 -1
- data/docs/doc/Doing/Util.html +1 -1
- data/docs/doc/Doing/Version.html +1 -1
- data/docs/doc/Doing/WWID.html +1 -1
- data/docs/doc/Doing.html +2 -2
- data/docs/doc/FalseClass.html +11 -1
- data/docs/doc/GLI/Commands/Help.html +1 -1
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/docs/doc/GLI/Commands.html +1 -1
- data/docs/doc/GLI.html +1 -1
- data/docs/doc/Hash.html +1 -1
- data/docs/doc/Numeric.html +1 -1
- data/docs/doc/Object.html +1 -1
- data/docs/doc/PhraseParser/Operator.html +1 -1
- data/docs/doc/PhraseParser/PhraseClause.html +1 -1
- data/docs/doc/PhraseParser/Query.html +1 -1
- data/docs/doc/PhraseParser/QueryParser.html +1 -1
- data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
- data/docs/doc/PhraseParser/TermClause.html +1 -1
- data/docs/doc/PhraseParser.html +1 -1
- data/docs/doc/Status.html +1 -1
- data/docs/doc/String.html +3 -3
- data/docs/doc/Symbol.html +1 -1
- data/docs/doc/Time.html +68 -3
- data/docs/doc/TrueClass.html +11 -1
- data/docs/doc/_index.html +1 -1
- data/docs/doc/file.README.html +2 -2
- data/docs/doc/index.html +2 -2
- data/docs/doc/method_list.html +516 -508
- data/docs/doc/top-level-namespace.html +1 -1
- data/doing.rdoc +64 -3
- data/lib/completion/_doing.zsh +10 -10
- data/lib/completion/doing.bash +18 -18
- data/lib/completion/doing.fish +9 -0
- data/lib/doing/add_options.rb +6 -2
- data/lib/doing/configuration.rb +4 -0
- data/lib/doing/good.rb +18 -1
- data/lib/doing/types.rb +9 -8
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid/display.rb +4 -1
- data/lib/doing.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d5518b6c12e5bcfd3f2faac11e927432d89791ea6608c1d342cd6fbe60ee726a
|
|
4
|
+
data.tar.gz: ebfadb15e7c48cd853012f69fa0e67e157f59706eeaa7c1620f49fa5aaaf0db2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1b018215254df2fbfbbcefb2da74d06ae0910dbbb6d2fca47e7c975c8092b698de6d3985c32600eb0fa6e7e06f3821b7ba2df7e0b0df9bd9dd00e06414c1fd73
|
|
7
|
+
data.tar.gz: 135f0a40c8f098984eddfad269c75480fad3a7e39e806af3280a86d5609d659bf91b8467b83a45f6e6bb07cd438162e1afca5411c51bdc6533be9c3724fe80cb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
### 2.1.44
|
|
2
|
+
|
|
3
|
+
2022-03-21 07:46
|
|
4
|
+
|
|
5
|
+
#### NEW
|
|
6
|
+
|
|
7
|
+
- `doing views --remove NAME` to delete a view
|
|
8
|
+
- Deleting all view content in editor (`doing views -e`) deletes the view
|
|
9
|
+
|
|
10
|
+
#### IMPROVED
|
|
11
|
+
|
|
12
|
+
- When saving a view, ignore keys that are the same as the default template
|
|
13
|
+
- Commands accepting `--save` also accept `--title TITLE`
|
|
14
|
+
|
|
15
|
+
#### FIXED
|
|
16
|
+
|
|
17
|
+
- When saving a view, store original date string instead of chronified result
|
|
18
|
+
- Error when testing for valid date
|
|
19
|
+
|
|
1
20
|
### 2.1.43
|
|
2
21
|
|
|
3
22
|
2022-03-20 12:44
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -8,7 +8,7 @@ _If you're one of the rare people like me who find this useful, feel free to
|
|
|
8
8
|
|
|
9
9
|
<!--README-->
|
|
10
10
|
|
|
11
|
-
The current version of `doing` is <!--VER-->2.1.
|
|
11
|
+
The current version of `doing` is <!--VER-->2.1.43<!--END VER-->.
|
|
12
12
|
|
|
13
13
|
Find all of the documentation in the [doing wiki][wiki].
|
|
14
14
|
|
data/bin/commands/grep.rb
CHANGED
|
@@ -49,7 +49,10 @@ command %i[grep search] do |c|
|
|
|
49
49
|
c.action do |_global_options, options, args|
|
|
50
50
|
options[:fuzzy] = false
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
if options[:output] && options[:output] !~ Doing::Plugins.plugin_regex(type: :export)
|
|
53
|
+
raise InvalidPlugin.new('output', options[:output])
|
|
54
|
+
|
|
55
|
+
end
|
|
53
56
|
|
|
54
57
|
template = Doing.setting(['templates', options[:config_template]]).deep_merge(Doing.settings)
|
|
55
58
|
tags_color = template.key?('tags_color') ? template['tags_color'] : nil
|
|
@@ -67,6 +70,11 @@ command %i[grep search] do |c|
|
|
|
67
70
|
options[:tags_color] = tags_color
|
|
68
71
|
|
|
69
72
|
Doing::Pager.page @wwid.list_section(options)
|
|
70
|
-
|
|
73
|
+
if options[:save]
|
|
74
|
+
options[:before] = Doing.original_options[:date_begin] if Doing.original_options[:date_begin].good?
|
|
75
|
+
options[:after] = Doing.original_options[:date_end] if Doing.original_options[:date_end].good?
|
|
76
|
+
options[:from] = Doing.original_options[:date_range] if Doing.original_options[:date_range].good?
|
|
77
|
+
Doing.config.save_view(options.to_view, options[:save].downcase)
|
|
78
|
+
end
|
|
71
79
|
end
|
|
72
80
|
end
|
data/bin/commands/on.rb
CHANGED
|
@@ -50,6 +50,11 @@ command :on do |c|
|
|
|
50
50
|
options[:output],
|
|
51
51
|
options).chomp
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
if options[:save]
|
|
54
|
+
options[:before] = Doing.original_options[:date_end] if Doing.original_options[:date_end].good?
|
|
55
|
+
options[:after] = Doing.original_options[:date_begin] if Doing.original_options[:date_begin].good?
|
|
56
|
+
options[:from] = Doing.original_options[:date_range] if Doing.original_options[:date_range].good?
|
|
57
|
+
Doing.config.save_view(options.to_view, options[:save].downcase)
|
|
58
|
+
end
|
|
54
59
|
end
|
|
55
60
|
end
|
data/bin/commands/recent.rb
CHANGED
data/bin/commands/show.rb
CHANGED
|
@@ -155,6 +155,11 @@ command :show do |c|
|
|
|
155
155
|
|
|
156
156
|
Doing::Pager.page @wwid.list_section(opt, items: items)
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
if options[:save]
|
|
159
|
+
opt[:before] = Doing.original_options[:date_begin] if Doing.original_options[:date_begin].good?
|
|
160
|
+
opt[:after] = Doing.original_options[:date_end] if Doing.original_options[:date_end].good?
|
|
161
|
+
opt[:from] = Doing.original_options[:date_range] if Doing.original_options[:date_range].good?
|
|
162
|
+
Doing.config.save_view(opt.to_view, options[:save].downcase)
|
|
163
|
+
end
|
|
159
164
|
end
|
|
160
165
|
end
|
data/bin/commands/since.rb
CHANGED
|
@@ -25,7 +25,7 @@ command :since do |c|
|
|
|
25
25
|
|
|
26
26
|
date_string.sub!(/(day) (\d)/, '\1 at \2')
|
|
27
27
|
date_string.sub!(/(\d+)d( ago)?/, '\1 days ago')
|
|
28
|
-
|
|
28
|
+
Doing.original_options[:date_begin] = date_string
|
|
29
29
|
start = date_string.chronify(guess: :begin)
|
|
30
30
|
finish = Time.now
|
|
31
31
|
|
|
@@ -37,6 +37,9 @@ command :since do |c|
|
|
|
37
37
|
options[:sort_tags] = options[:tag_sort]
|
|
38
38
|
|
|
39
39
|
Doing::Pager.page @wwid.list_date([start, finish], options[:section], options[:times], options[:output], options).chomp
|
|
40
|
-
|
|
40
|
+
if options[:save]
|
|
41
|
+
options[:after] = Doing.original_options[:date_begin] if Doing.original_options[:date_begin].good?
|
|
42
|
+
Doing.config.save_view(options.to_view, options[:save].downcase)
|
|
43
|
+
end
|
|
41
44
|
end
|
|
42
45
|
end
|
data/bin/commands/today.rb
CHANGED
|
@@ -25,6 +25,7 @@ command :today do |c|
|
|
|
25
25
|
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] }
|
|
26
26
|
filter_options[:today] = true
|
|
27
27
|
Doing::Pager.page @wwid.today(options[:times], options[:output], filter_options).chomp
|
|
28
|
+
filter_options[:title] = options[:title]
|
|
28
29
|
Doing.config.save_view(filter_options.to_view, options[:save].downcase) if options[:save]
|
|
29
30
|
end
|
|
30
31
|
end
|
data/bin/commands/views.rb
CHANGED
|
@@ -9,39 +9,100 @@ command :views do |c|
|
|
|
9
9
|
c.example 'doing views -e -o json color finished', desc: 'edit multiple view configs as JSON'
|
|
10
10
|
|
|
11
11
|
c.desc 'List in single column'
|
|
12
|
-
c.switch %i[c column], default_value: false
|
|
12
|
+
c.switch %i[c column], default_value: false, negatable: false
|
|
13
13
|
|
|
14
14
|
c.desc 'Open YAML for view in editor (requires argument)'
|
|
15
|
-
c.switch %i[e editor]
|
|
15
|
+
c.switch %i[e editor], negatable: false
|
|
16
16
|
|
|
17
17
|
c.desc 'Output/edit view in alternative format (json, yaml)'
|
|
18
18
|
c.arg_name 'FORMAT'
|
|
19
19
|
c.flag %i[o output], must_match: /^[jy]/i, default_value: 'yaml'
|
|
20
20
|
|
|
21
|
+
c.desc 'Delete view config'
|
|
22
|
+
c.switch %i[r remove], negatable: false
|
|
23
|
+
|
|
21
24
|
c.action do |_global_options, options, args|
|
|
25
|
+
cmd = Doing::ViewsCommand.new(options, args, @wwid)
|
|
26
|
+
|
|
22
27
|
if args.count.positive?
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
res = if options[:output] =~ /^j/i
|
|
28
|
-
JSON.parse(@wwid.fork_editor(JSON.pretty_generate(views), message: nil))
|
|
29
|
-
else
|
|
30
|
-
YAML.safe_load(@wwid.fork_editor(YAML.dump(views), message: nil))
|
|
31
|
-
end
|
|
32
|
-
args.each { |v| Doing.set("views.#{v}", res[v]) }
|
|
33
|
-
Doing::Util.write_to_file(Doing.config.config_file, YAML.dump(Doing.settings), backup: true)
|
|
34
|
-
Doing.logger.warn('Config:', "#{Doing.config.config_file} updated")
|
|
35
|
-
elsif options[:output] =~ /^j/i
|
|
36
|
-
out = JSON.pretty_generate(views)
|
|
37
|
-
Doing::Pager.page out
|
|
28
|
+
if options[:remove]
|
|
29
|
+
cmd.remove_views
|
|
30
|
+
elsif options[:editor]
|
|
31
|
+
cmd.edit_views
|
|
38
32
|
else
|
|
39
|
-
|
|
40
|
-
Doing::Pager.page out
|
|
33
|
+
cmd.output_views
|
|
41
34
|
end
|
|
42
35
|
else
|
|
43
|
-
|
|
36
|
+
cmd.list_views
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
module Doing
|
|
42
|
+
# views Command
|
|
43
|
+
class ViewsCommand
|
|
44
|
+
def initialize(options, args, wwid)
|
|
45
|
+
@options = options
|
|
46
|
+
@args = args
|
|
47
|
+
@wwid = wwid
|
|
48
|
+
|
|
49
|
+
@views = {}
|
|
50
|
+
args.each do |v|
|
|
51
|
+
view = @wwid.get_view(v)
|
|
52
|
+
raise InvalidArgument, 'Unrecognized view' unless view
|
|
53
|
+
|
|
54
|
+
@views[v] = view if view
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def list_views
|
|
59
|
+
joiner = @options[:column] ? "\n" : "\t"
|
|
44
60
|
print @wwid.views.join(joiner)
|
|
45
61
|
end
|
|
62
|
+
|
|
63
|
+
def save_view(view, res)
|
|
64
|
+
val = if res.nil? || !res.key?(view) || res[view]&.empty?
|
|
65
|
+
nil
|
|
66
|
+
else
|
|
67
|
+
res[view]
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
Doing.set("views.#{view}", val)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def remove_views
|
|
74
|
+
@args.each do |v|
|
|
75
|
+
Doing.set("views.#{v}", nil)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
save_config
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def edit_views
|
|
82
|
+
res = if @options[:output] =~ /^j/i
|
|
83
|
+
JSON.parse(@wwid.fork_editor(JSON.pretty_generate(@views), message: nil))
|
|
84
|
+
else
|
|
85
|
+
YAML.safe_load(@wwid.fork_editor(YAML.dump(@views), message: nil))
|
|
86
|
+
end
|
|
87
|
+
@args.each do |v|
|
|
88
|
+
save_view(v, res)
|
|
89
|
+
end
|
|
90
|
+
save_config
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def output_views
|
|
94
|
+
out = if @options[:output] =~ /^j/i
|
|
95
|
+
JSON.pretty_generate(@views)
|
|
96
|
+
else
|
|
97
|
+
YAML.dump(@views)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
Doing::Pager.page out
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def save_config
|
|
104
|
+
Doing::Util.write_to_file(Doing.config.config_file, YAML.dump(Doing.settings), backup: true)
|
|
105
|
+
Doing.logger.warn('Config:', "#{Doing.config.config_file} updated")
|
|
106
|
+
end
|
|
46
107
|
end
|
|
47
108
|
end
|
data/bin/doing
CHANGED
|
@@ -88,14 +88,33 @@ accept TagSortSymbol do |value|
|
|
|
88
88
|
value.normalize_tag_sort(Doing.config.fetch('tag_sort', :name))
|
|
89
89
|
end
|
|
90
90
|
|
|
91
|
+
accept ExportTemplate do |value|
|
|
92
|
+
if value !~ Doing::Plugins.plugin_regex(type: :export)
|
|
93
|
+
raise Doing::Errors::InvalidPlugin.new('output', value)
|
|
94
|
+
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
tpl = nil
|
|
98
|
+
|
|
99
|
+
Doing::Plugins.plugins[:export].each do |k, options|
|
|
100
|
+
next unless value =~ /^(#{options[:trigger].normalize_trigger})$/i
|
|
101
|
+
|
|
102
|
+
tpl = k
|
|
103
|
+
break
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
tpl.nil? ? 'template' : value
|
|
107
|
+
end
|
|
108
|
+
|
|
91
109
|
accept TemplateName do |value|
|
|
92
110
|
res = Doing.setting('templates').keys.select { |k| k =~ value.to_rx(distance: 2) }
|
|
93
|
-
raise InvalidArgument, "Unknown template: #{value}" unless res.good?
|
|
111
|
+
raise Doing::Errors::InvalidArgument, "Unknown template: #{value}" unless res.good?
|
|
94
112
|
|
|
95
113
|
res.group_by(&:length).min.last[0]
|
|
96
114
|
end
|
|
97
115
|
|
|
98
116
|
accept DateBeginString do |value|
|
|
117
|
+
Doing.original_options[:date_begin] = value
|
|
99
118
|
res = if value =~ REGEX_TIME
|
|
100
119
|
value
|
|
101
120
|
else
|
|
@@ -107,6 +126,7 @@ accept DateBeginString do |value|
|
|
|
107
126
|
end
|
|
108
127
|
|
|
109
128
|
accept DateEndString do |value|
|
|
129
|
+
Doing.original_options[:date_end] = value
|
|
110
130
|
res = if value =~ REGEX_TIME
|
|
111
131
|
value
|
|
112
132
|
else
|
|
@@ -118,6 +138,7 @@ accept DateEndString do |value|
|
|
|
118
138
|
end
|
|
119
139
|
|
|
120
140
|
accept DateRangeString do |value|
|
|
141
|
+
Doing.original_options[:date_range] = value
|
|
121
142
|
start, finish = value.split_date_range
|
|
122
143
|
raise InvalidTimeExpression, 'Invalid range' unless start
|
|
123
144
|
|
|
@@ -126,6 +147,7 @@ accept DateRangeString do |value|
|
|
|
126
147
|
end
|
|
127
148
|
|
|
128
149
|
accept DateRangeOptionalString do |value|
|
|
150
|
+
Doing.original_options[:date_range] = value
|
|
129
151
|
start, finish = value.split_date_range
|
|
130
152
|
raise InvalidTimeExpression, 'Invalid range' unless start
|
|
131
153
|
|
|
@@ -133,6 +155,7 @@ accept DateRangeOptionalString do |value|
|
|
|
133
155
|
end
|
|
134
156
|
|
|
135
157
|
accept DateIntervalString do |value|
|
|
158
|
+
Doing.original_options[:date_interval] = value
|
|
136
159
|
res = value.chronify_qty
|
|
137
160
|
raise InvalidTimeExpression, 'Invalid time quantity' unless res
|
|
138
161
|
|
data/docs/doc/Array.html
CHANGED
|
@@ -106,7 +106,17 @@
|
|
|
106
106
|
|
|
107
107
|
</div>
|
|
108
108
|
|
|
109
|
-
<div
|
|
109
|
+
<h2>Overview</h2><div class="docstring">
|
|
110
|
+
<div class="discussion">
|
|
111
|
+
<p>Array helpers</p>
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="tags">
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
</div><div id="subclasses">
|
|
110
120
|
<h2>Direct Known Subclasses</h2>
|
|
111
121
|
<p class="children"><span class='object_link'><a href="Doing/Items.html" title="Doing::Items (class)">Doing::Items</a></span>, <span class='object_link'><a href="Doing/Note.html" title="Doing::Note (class)">Doing::Note</a></span></p>
|
|
112
122
|
</div>
|
|
@@ -278,7 +288,7 @@ has content</p>
|
|
|
278
288
|
</div>
|
|
279
289
|
|
|
280
290
|
<div id="footer">
|
|
281
|
-
Generated on
|
|
291
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
282
292
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
283
293
|
0.9.27 (ruby-3.0.1).
|
|
284
294
|
</div>
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
</div>
|
|
284
284
|
|
|
285
285
|
<div id="footer">
|
|
286
|
-
Generated on
|
|
286
|
+
Generated on Mon Mar 21 07:53:16 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
|
|
165
|
+
Generated on Mon Mar 21 07:53:16 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
|
|
410
|
+
Generated on Mon Mar 21 07:53:16 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 "clause" node is added to the parse
|
|
|
125
125
|
</div>
|
|
126
126
|
|
|
127
127
|
<div id="footer">
|
|
128
|
-
Generated on
|
|
128
|
+
Generated on Mon Mar 21 07:53:16 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
|
|
117
|
+
Generated on Mon Mar 21 07:53:16 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
|
|
108
|
+
Generated on Mon Mar 21 07:53:15 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>
|
|
@@ -306,7 +306,7 @@ removes empty elements</p>
|
|
|
306
306
|
</div>
|
|
307
307
|
|
|
308
308
|
<div id="footer">
|
|
309
|
-
Generated on
|
|
309
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
310
310
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
311
311
|
0.9.27 (ruby-3.0.1).
|
|
312
312
|
</div>
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
</div>
|
|
189
189
|
|
|
190
190
|
<div id="footer">
|
|
191
|
-
Generated on
|
|
191
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
192
192
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
193
193
|
0.9.27 (ruby-3.0.1).
|
|
194
194
|
</div>
|
|
@@ -414,7 +414,7 @@ with</p>
|
|
|
414
414
|
</div>
|
|
415
415
|
|
|
416
416
|
<div id="footer">
|
|
417
|
-
Generated on
|
|
417
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
418
418
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
419
419
|
0.9.27 (ruby-3.0.1).
|
|
420
420
|
</div>
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
</div>
|
|
257
257
|
|
|
258
258
|
<div id="footer">
|
|
259
|
-
Generated on
|
|
259
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
260
260
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
261
261
|
0.9.27 (ruby-3.0.1).
|
|
262
262
|
</div>
|
|
@@ -222,7 +222,7 @@
|
|
|
222
222
|
</div>
|
|
223
223
|
|
|
224
224
|
<div id="footer">
|
|
225
|
-
Generated on
|
|
225
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
226
226
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
227
227
|
0.9.27 (ruby-3.0.1).
|
|
228
228
|
</div>
|
data/docs/doc/Doing/Change.html
CHANGED
|
@@ -678,7 +678,7 @@
|
|
|
678
678
|
</div>
|
|
679
679
|
|
|
680
680
|
<div id="footer">
|
|
681
|
-
Generated on
|
|
681
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
682
682
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
683
683
|
0.9.27 (ruby-3.0.1).
|
|
684
684
|
</div>
|
data/docs/doc/Doing/Changes.html
CHANGED
|
@@ -458,7 +458,7 @@
|
|
|
458
458
|
</div>
|
|
459
459
|
|
|
460
460
|
<div id="footer">
|
|
461
|
-
Generated on
|
|
461
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
462
462
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
463
463
|
0.9.27 (ruby-3.0.1).
|
|
464
464
|
</div>
|
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
</div>
|
|
338
338
|
|
|
339
339
|
<div id="footer">
|
|
340
|
-
Generated on
|
|
340
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
341
341
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
342
342
|
0.9.27 (ruby-3.0.1).
|
|
343
343
|
</div>
|
|
@@ -261,7 +261,7 @@ hours into days</p>
|
|
|
261
261
|
</div>
|
|
262
262
|
|
|
263
263
|
<div id="footer">
|
|
264
|
-
Generated on
|
|
264
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
265
265
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
266
266
|
0.9.27 (ruby-3.0.1).
|
|
267
267
|
</div>
|
|
@@ -672,7 +672,7 @@ array</p>
|
|
|
672
672
|
</div>
|
|
673
673
|
|
|
674
674
|
<div id="footer">
|
|
675
|
-
Generated on
|
|
675
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
676
676
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
677
677
|
0.9.27 (ruby-3.0.1).
|
|
678
678
|
</div>
|
data/docs/doc/Doing/Color.html
CHANGED
|
@@ -664,7 +664,7 @@ ANSI-sequences are stripped from the string.</p>
|
|
|
664
664
|
</div>
|
|
665
665
|
|
|
666
666
|
<div id="footer">
|
|
667
|
-
Generated on
|
|
667
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
668
668
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
669
669
|
0.9.27 (ruby-3.0.1).
|
|
670
670
|
</div>
|
|
@@ -435,7 +435,7 @@
|
|
|
435
435
|
</div>
|
|
436
436
|
|
|
437
437
|
<div id="footer">
|
|
438
|
-
Generated on
|
|
438
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
439
439
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
440
440
|
0.9.27 (ruby-3.0.1).
|
|
441
441
|
</div>
|
|
@@ -435,7 +435,7 @@
|
|
|
435
435
|
</div>
|
|
436
436
|
|
|
437
437
|
<div id="footer">
|
|
438
|
-
Generated on
|
|
438
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
439
439
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
440
440
|
0.9.27 (ruby-3.0.1).
|
|
441
441
|
</div>
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
</div>
|
|
220
220
|
|
|
221
221
|
<div id="footer">
|
|
222
|
-
Generated on
|
|
222
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
223
223
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
224
224
|
0.9.27 (ruby-3.0.1).
|
|
225
225
|
</div>
|
|
@@ -435,7 +435,7 @@
|
|
|
435
435
|
</div>
|
|
436
436
|
|
|
437
437
|
<div id="footer">
|
|
438
|
-
Generated on
|
|
438
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
439
439
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
440
440
|
0.9.27 (ruby-3.0.1).
|
|
441
441
|
</div>
|
|
@@ -540,7 +540,7 @@ stdout</p>
|
|
|
540
540
|
</div>
|
|
541
541
|
|
|
542
542
|
<div id="footer">
|
|
543
|
-
Generated on
|
|
543
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
544
544
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
545
545
|
0.9.27 (ruby-3.0.1).
|
|
546
546
|
</div>
|
|
@@ -1219,7 +1219,7 @@ matched, first match wins)</p>
|
|
|
1219
1219
|
</div>
|
|
1220
1220
|
|
|
1221
1221
|
<div id="footer">
|
|
1222
|
-
Generated on
|
|
1222
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
1223
1223
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1224
1224
|
0.9.27 (ruby-3.0.1).
|
|
1225
1225
|
</div>
|
|
@@ -373,7 +373,7 @@
|
|
|
373
373
|
</div>
|
|
374
374
|
|
|
375
375
|
<div id="footer">
|
|
376
|
-
Generated on
|
|
376
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
377
377
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
378
378
|
0.9.27 (ruby-3.0.1).
|
|
379
379
|
</div>
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
</div>
|
|
281
281
|
|
|
282
282
|
<div id="footer">
|
|
283
|
-
Generated on
|
|
283
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
284
284
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
285
285
|
0.9.27 (ruby-3.0.1).
|
|
286
286
|
</div>
|
|
@@ -381,7 +381,7 @@
|
|
|
381
381
|
</div>
|
|
382
382
|
|
|
383
383
|
<div id="footer">
|
|
384
|
-
Generated on
|
|
384
|
+
Generated on Mon Mar 21 07:53:16 2022 by
|
|
385
385
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
386
386
|
0.9.27 (ruby-3.0.1).
|
|
387
387
|
</div>
|
data/docs/doc/Doing/Entry.html
CHANGED
|
@@ -476,7 +476,7 @@
|
|
|
476
476
|
</div>
|
|
477
477
|
|
|
478
478
|
<div id="footer">
|
|
479
|
-
Generated on
|
|
479
|
+
Generated on Mon Mar 21 07:53:15 2022 by
|
|
480
480
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
481
481
|
0.9.27 (ruby-3.0.1).
|
|
482
482
|
</div>
|