doing 2.1.74 → 2.1.76

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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -22
  3. data/Gemfile.lock +1 -1
  4. data/README.md +2 -2
  5. data/bin/commands/commands.rb +3 -2
  6. data/docs/doc/Array.html +1 -1
  7. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  8. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  9. data/docs/doc/BooleanTermParser/Query.html +1 -1
  10. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  11. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  12. data/docs/doc/BooleanTermParser.html +1 -1
  13. data/docs/doc/Doing/ArrayCleanup.html +1 -1
  14. data/docs/doc/Doing/ArrayNestedHash.html +1 -1
  15. data/docs/doc/Doing/ArrayTags.html +1 -1
  16. data/docs/doc/Doing/CSVExport.html +1 -1
  17. data/docs/doc/Doing/CalendarImport.html +1 -1
  18. data/docs/doc/Doing/Change.html +1 -1
  19. data/docs/doc/Doing/Changes.html +1 -1
  20. data/docs/doc/Doing/ChronifyArray.html +1 -1
  21. data/docs/doc/Doing/ChronifyNumeric.html +1 -1
  22. data/docs/doc/Doing/ChronifyString.html +1 -1
  23. data/docs/doc/Doing/Color.html +1 -1
  24. data/docs/doc/Doing/Completion/BashCompletions.html +1 -1
  25. data/docs/doc/Doing/Completion/FigCompletions.html +1 -1
  26. data/docs/doc/Doing/Completion/FishCompletions.html +1 -1
  27. data/docs/doc/Doing/Completion/StringUtils.html +1 -1
  28. data/docs/doc/Doing/Completion/ZshCompletions.html +1 -1
  29. data/docs/doc/Doing/Completion.html +1 -1
  30. data/docs/doc/Doing/Configuration.html +1 -1
  31. data/docs/doc/Doing/DayOneRenderer.html +1 -1
  32. data/docs/doc/Doing/DayoneExport.html +1 -1
  33. data/docs/doc/Doing/DoingExport.html +1 -1
  34. data/docs/doc/Doing/DoingImport.html +1 -1
  35. data/docs/doc/Doing/Entry.html +1 -1
  36. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  37. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  38. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  39. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  40. data/docs/doc/Doing/Errors/HistoryLimitError.html +1 -1
  41. data/docs/doc/Doing/Errors/InvalidPlugin.html +1 -1
  42. data/docs/doc/Doing/Errors/MissingBackupFile.html +1 -1
  43. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  44. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  45. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  46. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  47. data/docs/doc/Doing/Errors.html +1 -1
  48. data/docs/doc/Doing/HTMLExport.html +1 -1
  49. data/docs/doc/Doing/Hooks.html +1 -1
  50. data/docs/doc/Doing/Item.html +1 -1
  51. data/docs/doc/Doing/ItemDates.html +1 -1
  52. data/docs/doc/Doing/ItemQuery.html +1 -1
  53. data/docs/doc/Doing/ItemState.html +1 -1
  54. data/docs/doc/Doing/ItemTags.html +1 -1
  55. data/docs/doc/Doing/Items.html +1 -1
  56. data/docs/doc/Doing/JSONExport.html +1 -1
  57. data/docs/doc/Doing/JSONImport.html +1 -1
  58. data/docs/doc/Doing/Logger.html +1 -1
  59. data/docs/doc/Doing/MarkdownExport.html +1 -1
  60. data/docs/doc/Doing/Note.html +1 -1
  61. data/docs/doc/Doing/Pager.html +1 -1
  62. data/docs/doc/Doing/Plugins.html +1 -1
  63. data/docs/doc/Doing/Prompt.html +1 -1
  64. data/docs/doc/Doing/PromptChoose.html +1 -1
  65. data/docs/doc/Doing/PromptFZF.html +1 -1
  66. data/docs/doc/Doing/PromptInput.html +1 -1
  67. data/docs/doc/Doing/PromptSTD.html +1 -1
  68. data/docs/doc/Doing/PromptYN.html +1 -1
  69. data/docs/doc/Doing/Section.html +1 -1
  70. data/docs/doc/Doing/StringHighlight.html +1 -1
  71. data/docs/doc/Doing/StringNormalize.html +1 -1
  72. data/docs/doc/Doing/StringQuery.html +1 -1
  73. data/docs/doc/Doing/StringTags.html +1 -1
  74. data/docs/doc/Doing/StringTransform.html +1 -1
  75. data/docs/doc/Doing/StringTruncate.html +1 -1
  76. data/docs/doc/Doing/StringURL.html +1 -1
  77. data/docs/doc/Doing/SymbolNormalize.html +1 -1
  78. data/docs/doc/Doing/TaskPaperExport.html +1 -1
  79. data/docs/doc/Doing/TemplateExport.html +1 -1
  80. data/docs/doc/Doing/TemplateString.html +1 -1
  81. data/docs/doc/Doing/TimingImport.html +1 -1
  82. data/docs/doc/Doing/Types.html +1 -1
  83. data/docs/doc/Doing/Util/Backup.html +1 -1
  84. data/docs/doc/Doing/Util.html +1 -1
  85. data/docs/doc/Doing/Version.html +1 -1
  86. data/docs/doc/Doing/WWID.html +1 -1
  87. data/docs/doc/Doing.html +4 -4
  88. data/docs/doc/FalseClass.html +1 -1
  89. data/docs/doc/GLI/Commands/Help.html +1 -1
  90. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  91. data/docs/doc/GLI/Commands.html +1 -1
  92. data/docs/doc/GLI.html +1 -1
  93. data/docs/doc/Hash.html +1 -1
  94. data/docs/doc/Numeric.html +1 -1
  95. data/docs/doc/Object.html +1 -1
  96. data/docs/doc/PhraseParser/Operator.html +1 -1
  97. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  98. data/docs/doc/PhraseParser/Query.html +1 -1
  99. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  100. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  101. data/docs/doc/PhraseParser/TermClause.html +1 -1
  102. data/docs/doc/PhraseParser.html +1 -1
  103. data/docs/doc/Status.html +1 -1
  104. data/docs/doc/String.html +1 -1
  105. data/docs/doc/Symbol.html +1 -1
  106. data/docs/doc/Time.html +1 -1
  107. data/docs/doc/TrueClass.html +1 -1
  108. data/docs/doc/_index.html +12 -5
  109. data/docs/doc/class_list.html +1 -1
  110. data/docs/doc/file.README.html +3 -3
  111. data/docs/doc/index.html +3 -3
  112. data/docs/doc/method_list.html +154 -138
  113. data/docs/doc/top-level-namespace.html +1 -1
  114. data/doing.rdoc +11 -11
  115. data/lib/doing/plugins/export/byday.rb +63 -0
  116. data/lib/doing/version.rb +1 -1
  117. metadata +3 -2
@@ -216,7 +216,7 @@
216
216
  </div>
217
217
 
218
218
  <div id="footer">
219
- Generated on Sun Jan 1 07:23:44 2023 by
219
+ Generated on Fri Mar 10 15:19:57 2023 by
220
220
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
221
221
  0.9.28 (ruby-3.0.1).
222
222
  </div>
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.74
8
+ v2.1.76
9
9
 
10
10
  === Global Options
11
11
  === --config_file arg
@@ -945,7 +945,7 @@ Date range (natural language) to search, or a single day to filter on.
945
945
 
946
946
  ===== -o|--output FORMAT
947
947
 
948
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
948
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
949
949
 
950
950
  [Default Value] None
951
951
 
@@ -1202,7 +1202,7 @@ Output using a template from configuration
1202
1202
 
1203
1203
  ===== -o|--output FORMAT
1204
1204
 
1205
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
1205
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
1206
1206
 
1207
1207
  [Default Value] None
1208
1208
 
@@ -1662,7 +1662,7 @@ Time range to show `doing on --from "12pm to 4pm"`
1662
1662
 
1663
1663
  ===== -o|--output FORMAT
1664
1664
 
1665
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
1665
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
1666
1666
 
1667
1667
  [Default Value] None
1668
1668
 
@@ -1828,7 +1828,7 @@ Output using a template from configuration
1828
1828
 
1829
1829
  ===== -o|--output FORMAT
1830
1830
 
1831
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
1831
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
1832
1832
 
1833
1833
  [Default Value] None
1834
1834
 
@@ -2185,7 +2185,7 @@ Move selected items to section
2185
2185
 
2186
2186
  ===== -o|--output FORMAT
2187
2187
 
2188
- Output entries to format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2188
+ Output entries to format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2189
2189
 
2190
2190
  [Default Value] None
2191
2191
 
@@ -2375,7 +2375,7 @@ Date range (natural language) to show, or a single day to filter on.
2375
2375
 
2376
2376
  ===== -o|--output FORMAT
2377
2377
 
2378
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2378
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2379
2379
 
2380
2380
  [Default Value] None
2381
2381
 
@@ -2537,7 +2537,7 @@ Output using a template from configuration
2537
2537
 
2538
2538
  ===== -o|--output FORMAT
2539
2539
 
2540
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2540
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2541
2541
 
2542
2542
  [Default Value] None
2543
2543
 
@@ -2955,7 +2955,7 @@ Time range to show `doing today --from "12pm to 4pm"`
2955
2955
 
2956
2956
  ===== -o|--output FORMAT
2957
2957
 
2958
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2958
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
2959
2959
 
2960
2960
  [Default Value] None
2961
2961
 
@@ -3139,7 +3139,7 @@ Date range (natural language) to show, or a single day to filter on.
3139
3139
 
3140
3140
  ===== -o|--output FORMAT
3141
3141
 
3142
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
3142
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
3143
3143
 
3144
3144
  [Default Value] None
3145
3145
 
@@ -3370,7 +3370,7 @@ Time range to show `doing yesterday --from "12pm to 4pm"`
3370
3370
 
3371
3371
  ===== -o|--output FORMAT
3372
3372
 
3373
- Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
3373
+ Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
3374
3374
 
3375
3375
  [Default Value] None
3376
3376
 
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ # title: Doing File Export
4
+ # description: Export Doing format data
5
+ # author: Brett Terpstra
6
+ # url: https://brettterpstra.com
7
+ module Doing
8
+ class ByDayExport
9
+ def self.settings
10
+ {
11
+ trigger: 'byday'
12
+ }
13
+ end
14
+
15
+ def self.render(wwid, items, variables: {})
16
+ return if items.nil?
17
+
18
+ days = {}
19
+
20
+ items.each do |item|
21
+ date = item.date.strftime('%Y-%m-%d')
22
+ days[date] ||= []
23
+ days[date].push(item)
24
+ end
25
+
26
+ totals = {}
27
+ total = 0
28
+
29
+ days.each do |day, day_items|
30
+ day_items.each do |item|
31
+ totals[day] ||= 0
32
+ duration = item.interval || 0
33
+ totals[day] += duration
34
+ total += duration
35
+ end
36
+ end
37
+
38
+ divider = "+----------+------------------------------------------------------------------------------------------------+--------+"
39
+ out = []
40
+ out << divider
41
+ days.each do |day, day_items|
42
+ first = day_items.slice!(0, 1)[0]
43
+ interval = wwid.get_interval(first, formatted: true) || '00:00:00'
44
+ out << "|#{day}|#{first.title.trunc(94).ljust(96)}|#{interval}|"
45
+ day_items.each do |item|
46
+ interval = wwid.get_interval(item, formatted: true) || '00:00:00'
47
+ out << "| |#{item.title.trunc(94).ljust(96)}|#{interval}|"
48
+ end
49
+ day_total = "Total: #{totals[day].time_string(format: :clock)}"
50
+ out << divider
51
+ out << "|#{day_total.rjust(116)}|"
52
+ out << divider
53
+ end
54
+ all_total = "Grand Total: #{total.time_string(format: :clock)}"
55
+ out << divider
56
+ out << "|#{all_total.rjust(116)}|"
57
+ out << divider
58
+ Doing::Pager.page out.join("\n")
59
+ end
60
+
61
+ Doing::Plugins.register 'byday', :export, self
62
+ end
63
+ end
data/lib/doing/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Doing
2
- VERSION = '2.1.74'
2
+ VERSION = '2.1.76'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doing
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.74
4
+ version: 2.1.76
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-01 00:00:00.000000000 Z
11
+ date: 2023-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: github-markup
@@ -676,6 +676,7 @@ files:
676
676
  - lib/doing/pager.rb
677
677
  - lib/doing/phrase_parser.rb
678
678
  - lib/doing/plugin_manager.rb
679
+ - lib/doing/plugins/export/byday.rb
679
680
  - lib/doing/plugins/export/csv_export.rb
680
681
  - lib/doing/plugins/export/dayone_export.rb
681
682
  - lib/doing/plugins/export/doing_export.rb