doing 2.1.87 → 2.1.89
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 +12 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +37 -2
- data/README.md +1 -1
- data/docs/doc/Array.html +3 -3
- data/docs/doc/BooleanTermParser/Clause.html +3 -3
- data/docs/doc/BooleanTermParser/Operator.html +3 -3
- data/docs/doc/BooleanTermParser/Query.html +3 -3
- data/docs/doc/BooleanTermParser/QueryParser.html +3 -3
- data/docs/doc/BooleanTermParser/QueryTransformer.html +3 -3
- data/docs/doc/BooleanTermParser.html +3 -3
- data/docs/doc/Doing/ArrayCleanup.html +3 -3
- data/docs/doc/Doing/ArrayNestedHash.html +3 -3
- data/docs/doc/Doing/ArrayTags.html +9 -9
- data/docs/doc/Doing/ByDayExport.html +3 -3
- data/docs/doc/Doing/CSVExport.html +3 -3
- data/docs/doc/Doing/CalendarImport.html +3 -3
- data/docs/doc/Doing/Change.html +3 -3
- data/docs/doc/Doing/Changes.html +3 -3
- data/docs/doc/Doing/ChronifyArray.html +3 -3
- data/docs/doc/Doing/ChronifyNumeric.html +3 -3
- data/docs/doc/Doing/ChronifyString.html +6 -6
- data/docs/doc/Doing/Color.html +16 -16
- data/docs/doc/Doing/Completion/BashCompletions.html +3 -3
- data/docs/doc/Doing/Completion/FigCompletions.html +3 -3
- data/docs/doc/Doing/Completion/FishCompletions.html +3 -3
- data/docs/doc/Doing/Completion/StringUtils.html +3 -3
- data/docs/doc/Doing/Completion/ZshCompletions.html +3 -3
- data/docs/doc/Doing/Completion.html +3 -3
- data/docs/doc/Doing/Configuration.html +3 -3
- data/docs/doc/Doing/DayOneRenderer.html +3 -3
- data/docs/doc/Doing/DayoneExport.html +3 -3
- data/docs/doc/Doing/DoingExport.html +3 -3
- data/docs/doc/Doing/DoingImport.html +3 -3
- data/docs/doc/Doing/Entry.html +3 -3
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +3 -3
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +3 -3
- data/docs/doc/Doing/Errors/DoingStandardError.html +3 -3
- data/docs/doc/Doing/Errors/EmptyInput.html +3 -3
- data/docs/doc/Doing/Errors/HistoryLimitError.html +3 -3
- data/docs/doc/Doing/Errors/InvalidPlugin.html +3 -3
- data/docs/doc/Doing/Errors/MissingBackupFile.html +3 -3
- data/docs/doc/Doing/Errors/NoResults.html +3 -3
- data/docs/doc/Doing/Errors/PluginException.html +3 -3
- data/docs/doc/Doing/Errors/UserCancelled.html +3 -3
- data/docs/doc/Doing/Errors/WrongCommand.html +3 -3
- data/docs/doc/Doing/Errors.html +3 -3
- data/docs/doc/Doing/HTMLExport.html +3 -3
- data/docs/doc/Doing/Hooks.html +3 -3
- data/docs/doc/Doing/Item.html +3 -3
- data/docs/doc/Doing/ItemDates.html +3 -3
- data/docs/doc/Doing/ItemQuery.html +3 -3
- data/docs/doc/Doing/ItemState.html +3 -3
- data/docs/doc/Doing/ItemTags.html +3 -3
- data/docs/doc/Doing/Items.html +3 -3
- data/docs/doc/Doing/JSONExport.html +3 -3
- data/docs/doc/Doing/JSONImport.html +3 -3
- data/docs/doc/Doing/Logger.html +3 -3
- data/docs/doc/Doing/MarkdownExport.html +3 -3
- data/docs/doc/Doing/Note.html +3 -3
- data/docs/doc/Doing/Pager.html +3 -3
- data/docs/doc/Doing/Plugins.html +3 -3
- data/docs/doc/Doing/Prompt.html +3 -3
- data/docs/doc/Doing/PromptChoose.html +3 -3
- data/docs/doc/Doing/PromptFZF.html +3 -3
- data/docs/doc/Doing/PromptInput.html +3 -3
- data/docs/doc/Doing/PromptSTD.html +3 -3
- data/docs/doc/Doing/PromptYN.html +3 -3
- data/docs/doc/Doing/Section.html +3 -3
- data/docs/doc/Doing/StringHighlight.html +3 -3
- data/docs/doc/Doing/StringNormalize.html +3 -3
- data/docs/doc/Doing/StringQuery.html +4 -4
- data/docs/doc/Doing/StringTags.html +3 -3
- data/docs/doc/Doing/StringTransform.html +3 -3
- data/docs/doc/Doing/StringTruncate.html +3 -3
- data/docs/doc/Doing/StringURL.html +3 -3
- data/docs/doc/Doing/SymbolNormalize.html +3 -3
- data/docs/doc/Doing/TaskPaperExport.html +3 -3
- data/docs/doc/Doing/TemplateExport.html +3 -3
- data/docs/doc/Doing/TemplateString.html +3 -3
- data/docs/doc/Doing/TimingImport.html +3 -3
- data/docs/doc/Doing/Types.html +3 -3
- data/docs/doc/Doing/Util/Backup.html +3 -3
- data/docs/doc/Doing/Util.html +4 -4
- data/docs/doc/Doing/Version.html +3 -3
- data/docs/doc/Doing/WWID.html +3 -3
- data/docs/doc/Doing.html +4 -4
- data/docs/doc/FalseClass.html +3 -3
- data/docs/doc/GLI/Commands/Help.html +3 -3
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +3 -3
- data/docs/doc/GLI/Commands.html +3 -3
- data/docs/doc/GLI.html +3 -3
- data/docs/doc/Hash.html +4 -4
- data/docs/doc/Numeric.html +3 -3
- data/docs/doc/Object.html +3 -3
- data/docs/doc/PhraseParser/Operator.html +13 -3
- data/docs/doc/PhraseParser/PhraseClause.html +4 -4
- data/docs/doc/PhraseParser/Query.html +3 -3
- data/docs/doc/PhraseParser/QueryParser.html +19 -3
- data/docs/doc/PhraseParser/QueryTransformer.html +13 -3
- data/docs/doc/PhraseParser/TermClause.html +13 -3
- data/docs/doc/PhraseParser.html +3 -3
- data/docs/doc/Status.html +3 -3
- data/docs/doc/String.html +3 -3
- data/docs/doc/Symbol.html +3 -3
- data/docs/doc/Time.html +3 -3
- data/docs/doc/TrueClass.html +3 -3
- data/docs/doc/_index.html +4 -4
- data/docs/doc/class_list.html +3 -6
- data/docs/doc/css/full_list.css +3 -3
- data/docs/doc/css/style.css +0 -6
- data/docs/doc/file.README.html +4 -4
- data/docs/doc/file_list.html +2 -5
- data/docs/doc/frames.html +1 -1
- data/docs/doc/index.html +4 -4
- data/docs/doc/js/app.js +264 -294
- data/docs/doc/js/full_list.js +4 -30
- data/docs/doc/method_list.html +2 -5
- data/docs/doc/top-level-namespace.html +3 -3
- data/doing.gemspec +7 -2
- data/doing.rdoc +1 -1
- data/lib/doing/phrase_parser.rb +10 -22
- data/lib/doing/version.rb +1 -1
- metadata +79 -6
data/docs/doc/js/full_list.js
CHANGED
@@ -62,25 +62,8 @@ function enableToggles() {
|
|
62
62
|
evt.stopPropagation();
|
63
63
|
evt.preventDefault();
|
64
64
|
$(this).parent().parent().toggleClass('collapsed');
|
65
|
-
$(this).attr('aria-expanded', function (i, attr) {
|
66
|
-
return attr == 'true' ? 'false' : 'true'
|
67
|
-
});
|
68
65
|
highlight();
|
69
66
|
});
|
70
|
-
|
71
|
-
// navigation of nested classes using keyboard
|
72
|
-
$('#full_list a.toggle').on('keypress',function(evt) {
|
73
|
-
// enter key is pressed
|
74
|
-
if (evt.which == 13) {
|
75
|
-
evt.stopPropagation();
|
76
|
-
evt.preventDefault();
|
77
|
-
$(this).parent().parent().toggleClass('collapsed');
|
78
|
-
$(this).attr('aria-expanded', function (i, attr) {
|
79
|
-
return attr == 'true' ? 'false' : 'true'
|
80
|
-
});
|
81
|
-
highlight();
|
82
|
-
}
|
83
|
-
});
|
84
67
|
}
|
85
68
|
|
86
69
|
function populateSearchCache() {
|
@@ -108,7 +91,7 @@ function enableSearch() {
|
|
108
91
|
}
|
109
92
|
});
|
110
93
|
|
111
|
-
$('#full_list').after("<div id='noresults'
|
94
|
+
$('#full_list').after("<div id='noresults' style='display:none'></div>");
|
112
95
|
}
|
113
96
|
|
114
97
|
function ignoredKeyPress(event) {
|
@@ -171,14 +154,11 @@ function partialSearch(searchString, offset) {
|
|
171
154
|
function searchDone() {
|
172
155
|
searchTimeout = null;
|
173
156
|
highlight();
|
174
|
-
|
175
|
-
|
176
|
-
$('#noresults').text('No results were found.');
|
157
|
+
if ($('#full_list li:visible').size() === 0) {
|
158
|
+
$('#noresults').text('No results were found.').hide().fadeIn();
|
177
159
|
} else {
|
178
|
-
|
179
|
-
$('#noresults').text('There are ' + found + ' results.');
|
160
|
+
$('#noresults').text('').hide();
|
180
161
|
}
|
181
|
-
$('#noresults').show();
|
182
162
|
$('#content').removeClass('insearch');
|
183
163
|
}
|
184
164
|
|
@@ -208,12 +188,6 @@ function expandTo(path) {
|
|
208
188
|
$target.addClass('clicked');
|
209
189
|
$target.removeClass('collapsed');
|
210
190
|
$target.parentsUntil('#full_list', 'li').removeClass('collapsed');
|
211
|
-
|
212
|
-
$target.find('a.toggle').attr('aria-expanded', 'true')
|
213
|
-
$target.parentsUntil('#full_list', 'li').each(function(i, el) {
|
214
|
-
$(el).find('> div > a.toggle').attr('aria-expanded', 'true');
|
215
|
-
});
|
216
|
-
|
217
191
|
if($target[0]) {
|
218
192
|
window.scrollTo(window.scrollX, $target.offset().top - 250);
|
219
193
|
highlight();
|
data/docs/doc/method_list.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<html
|
2
|
+
<html>
|
3
3
|
<head>
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
5
|
<meta charset="utf-8" />
|
@@ -38,10 +38,7 @@
|
|
38
38
|
|
39
39
|
</div>
|
40
40
|
|
41
|
-
<div id="search">
|
42
|
-
<label for="search-class">Search:</label>
|
43
|
-
<input id="search-class" type="text" />
|
44
|
-
</div>
|
41
|
+
<div id="search">Search: <input type="text" /></div>
|
45
42
|
</div>
|
46
43
|
|
47
44
|
<ul id="full_list" class="method">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Top Level Namespace
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.36
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -216,9 +216,9 @@
|
|
216
216
|
</div>
|
217
217
|
|
218
218
|
<div id="footer">
|
219
|
-
Generated on
|
219
|
+
Generated on Mon May 19 04:38:00 2025 by
|
220
220
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
221
|
-
0.9.
|
221
|
+
0.9.36 (ruby-3.4.4).
|
222
222
|
</div>
|
223
223
|
|
224
224
|
</div>
|
data/doing.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Ensure we require the local version and not one we might have installed already
|
2
|
-
require './lib/doing/version
|
3
|
-
|
2
|
+
require './lib/doing/version'
|
3
|
+
Gem::Specification.new do |s|
|
4
4
|
s.name = 'doing'
|
5
5
|
s.version = Doing::VERSION
|
6
6
|
s.author = 'Brett Terpstra'
|
@@ -28,12 +28,17 @@ spec = Gem::Specification.new do |s|
|
|
28
28
|
s.add_development_dependency('test-unit', '~> 3.4.4')
|
29
29
|
s.add_development_dependency('tty-spinner', '~> 0.9', '>= 0.9.3')
|
30
30
|
s.add_development_dependency('yard', '~> 0.9', '>= 0.9.36')
|
31
|
+
s.add_runtime_dependency('base64', '~> 0.2')
|
31
32
|
s.add_runtime_dependency('chronic', '~> 0.10', '>= 0.10.2')
|
33
|
+
s.add_runtime_dependency('csv', '~> 3.3')
|
32
34
|
s.add_runtime_dependency('deep_merge', '~> 1.2', '>= 1.2.1')
|
33
35
|
s.add_runtime_dependency('gli', '~> 2.20', '>= 2.20.1')
|
34
36
|
s.add_runtime_dependency('haml', '~>5.0.0', '>= 5.0.0')
|
37
|
+
s.add_runtime_dependency('logger', '~> 1.4', '>= 1.4.2')
|
38
|
+
s.add_runtime_dependency('ostruct', '~> 0.6')
|
35
39
|
s.add_runtime_dependency('parslet', '~> 2.0', '>= 2.0.0')
|
36
40
|
s.add_runtime_dependency('plist', '~> 3.6', '>= 3.6.0')
|
41
|
+
s.add_runtime_dependency('reline', '~> 0.6')
|
37
42
|
s.add_runtime_dependency('safe_yaml', '~> 1.0')
|
38
43
|
s.add_runtime_dependency('tty-link', '~> 0.1', '>= 0.1.1')
|
39
44
|
s.add_runtime_dependency('tty-markdown', '~> 0.7', '>= 0.7.0')
|
data/doing.rdoc
CHANGED
@@ -5,7 +5,7 @@ record of what you've been doing, complete with tag-based time tracking. The
|
|
5
5
|
command line tool allows you to add entries, annotate with tags and notes, and
|
6
6
|
view your entries with myriad options, with a focus on a "natural" language syntax.
|
7
7
|
|
8
|
-
v2.1.
|
8
|
+
v2.1.89
|
9
9
|
|
10
10
|
=== Global Options
|
11
11
|
=== --config_file arg
|
data/lib/doing/phrase_parser.rb
CHANGED
@@ -7,6 +7,8 @@ module PhraseParser
|
|
7
7
|
# terms. This is done creating multiple types of clauses instead of just one.
|
8
8
|
# A phrase clause generates an Elasticsearch match_phrase query.
|
9
9
|
class QueryParser < Parslet::Parser
|
10
|
+
CLAUSE_TYPES = %i[should must must_not].freeze
|
11
|
+
|
10
12
|
rule(:term) { match('[^\s"]').repeat(1).as(:term) }
|
11
13
|
rule(:quote) { str('"') }
|
12
14
|
rule(:operator) { (str('+') | str('-')).as(:operator) }
|
@@ -19,8 +21,9 @@ module PhraseParser
|
|
19
21
|
root(:query)
|
20
22
|
end
|
21
23
|
|
24
|
+
# Transforms the parsed query into a Query object
|
22
25
|
class QueryTransformer < Parslet::Transform
|
23
|
-
rule(:
|
26
|
+
rule(clause: subtree(:clause)) do
|
24
27
|
if clause[:term]
|
25
28
|
TermClause.new(clause[:operator]&.to_s, clause[:term].to_s)
|
26
29
|
elsif clause[:phrase]
|
@@ -33,6 +36,7 @@ module PhraseParser
|
|
33
36
|
rule(query: sequence(:clauses)) { Query.new(clauses) }
|
34
37
|
end
|
35
38
|
|
39
|
+
# Represents an operator
|
36
40
|
class Operator
|
37
41
|
def self.symbol(str)
|
38
42
|
case str
|
@@ -48,6 +52,7 @@ module PhraseParser
|
|
48
52
|
end
|
49
53
|
end
|
50
54
|
|
55
|
+
# Represents a term clause
|
51
56
|
class TermClause
|
52
57
|
attr_accessor :operator, :term
|
53
58
|
|
@@ -57,7 +62,7 @@ module PhraseParser
|
|
57
62
|
end
|
58
63
|
end
|
59
64
|
|
60
|
-
#
|
65
|
+
# Represents a phrase clause
|
61
66
|
class PhraseClause
|
62
67
|
attr_accessor :operator, :phrase
|
63
68
|
|
@@ -79,27 +84,10 @@ module PhraseParser
|
|
79
84
|
end
|
80
85
|
|
81
86
|
def to_elasticsearch
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
query[:should] = should_clauses.map do |clause|
|
86
|
-
clause_to_query(clause)
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
if must_clauses.any?
|
91
|
-
query[:must] = must_clauses.map do |clause|
|
92
|
-
clause_to_query(clause)
|
93
|
-
end
|
87
|
+
QueryParser::CLAUSE_TYPES.each_with_object({}) do |type, query|
|
88
|
+
clauses = instance_variable_get("@#{type}_clauses")
|
89
|
+
query[type] = clauses.map { |clause| clause_to_query(clause) } if clauses&.any?
|
94
90
|
end
|
95
|
-
|
96
|
-
if must_not_clauses.any?
|
97
|
-
query[:must_not] = must_not_clauses.map do |clause|
|
98
|
-
clause_to_query(clause)
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
query
|
103
91
|
end
|
104
92
|
|
105
93
|
def clause_to_query(clause)
|
data/lib/doing/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.89
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: github-markup
|
@@ -158,6 +157,20 @@ dependencies:
|
|
158
157
|
- - ">="
|
159
158
|
- !ruby/object:Gem::Version
|
160
159
|
version: 0.9.36
|
160
|
+
- !ruby/object:Gem::Dependency
|
161
|
+
name: base64
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0.2'
|
167
|
+
type: :runtime
|
168
|
+
prerelease: false
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.2'
|
161
174
|
- !ruby/object:Gem::Dependency
|
162
175
|
name: chronic
|
163
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +191,20 @@ dependencies:
|
|
178
191
|
- - ">="
|
179
192
|
- !ruby/object:Gem::Version
|
180
193
|
version: 0.10.2
|
194
|
+
- !ruby/object:Gem::Dependency
|
195
|
+
name: csv
|
196
|
+
requirement: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - "~>"
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '3.3'
|
201
|
+
type: :runtime
|
202
|
+
prerelease: false
|
203
|
+
version_requirements: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - "~>"
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '3.3'
|
181
208
|
- !ruby/object:Gem::Dependency
|
182
209
|
name: deep_merge
|
183
210
|
requirement: !ruby/object:Gem::Requirement
|
@@ -238,6 +265,40 @@ dependencies:
|
|
238
265
|
- - ">="
|
239
266
|
- !ruby/object:Gem::Version
|
240
267
|
version: 5.0.0
|
268
|
+
- !ruby/object:Gem::Dependency
|
269
|
+
name: logger
|
270
|
+
requirement: !ruby/object:Gem::Requirement
|
271
|
+
requirements:
|
272
|
+
- - "~>"
|
273
|
+
- !ruby/object:Gem::Version
|
274
|
+
version: '1.4'
|
275
|
+
- - ">="
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: 1.4.2
|
278
|
+
type: :runtime
|
279
|
+
prerelease: false
|
280
|
+
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
requirements:
|
282
|
+
- - "~>"
|
283
|
+
- !ruby/object:Gem::Version
|
284
|
+
version: '1.4'
|
285
|
+
- - ">="
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: 1.4.2
|
288
|
+
- !ruby/object:Gem::Dependency
|
289
|
+
name: ostruct
|
290
|
+
requirement: !ruby/object:Gem::Requirement
|
291
|
+
requirements:
|
292
|
+
- - "~>"
|
293
|
+
- !ruby/object:Gem::Version
|
294
|
+
version: '0.6'
|
295
|
+
type: :runtime
|
296
|
+
prerelease: false
|
297
|
+
version_requirements: !ruby/object:Gem::Requirement
|
298
|
+
requirements:
|
299
|
+
- - "~>"
|
300
|
+
- !ruby/object:Gem::Version
|
301
|
+
version: '0.6'
|
241
302
|
- !ruby/object:Gem::Dependency
|
242
303
|
name: parslet
|
243
304
|
requirement: !ruby/object:Gem::Requirement
|
@@ -278,6 +339,20 @@ dependencies:
|
|
278
339
|
- - ">="
|
279
340
|
- !ruby/object:Gem::Version
|
280
341
|
version: 3.6.0
|
342
|
+
- !ruby/object:Gem::Dependency
|
343
|
+
name: reline
|
344
|
+
requirement: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - "~>"
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '0.6'
|
349
|
+
type: :runtime
|
350
|
+
prerelease: false
|
351
|
+
version_requirements: !ruby/object:Gem::Requirement
|
352
|
+
requirements:
|
353
|
+
- - "~>"
|
354
|
+
- !ruby/object:Gem::Version
|
355
|
+
version: '0.6'
|
281
356
|
- !ruby/object:Gem::Dependency
|
282
357
|
name: safe_yaml
|
283
358
|
requirement: !ruby/object:Gem::Requirement
|
@@ -845,7 +920,6 @@ homepage: http://brettterpstra.com/project/doing/
|
|
845
920
|
licenses:
|
846
921
|
- MIT
|
847
922
|
metadata: {}
|
848
|
-
post_install_message:
|
849
923
|
rdoc_options:
|
850
924
|
- "--title"
|
851
925
|
- doing
|
@@ -867,8 +941,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
867
941
|
- !ruby/object:Gem::Version
|
868
942
|
version: '0'
|
869
943
|
requirements: []
|
870
|
-
rubygems_version: 3.
|
871
|
-
signing_key:
|
944
|
+
rubygems_version: 3.6.7
|
872
945
|
specification_version: 4
|
873
946
|
summary: A command line tool for managing What Was I Doing reminders
|
874
947
|
test_files: []
|