doing 2.1.75 → 2.1.76

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +2 -2
  5. data/docs/doc/Array.html +1 -1
  6. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  7. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  8. data/docs/doc/BooleanTermParser/Query.html +1 -1
  9. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  10. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  11. data/docs/doc/BooleanTermParser.html +1 -1
  12. data/docs/doc/Doing/ArrayCleanup.html +1 -1
  13. data/docs/doc/Doing/ArrayNestedHash.html +1 -1
  14. data/docs/doc/Doing/ArrayTags.html +1 -1
  15. data/docs/doc/Doing/CSVExport.html +1 -1
  16. data/docs/doc/Doing/CalendarImport.html +1 -1
  17. data/docs/doc/Doing/Change.html +1 -1
  18. data/docs/doc/Doing/Changes.html +1 -1
  19. data/docs/doc/Doing/ChronifyArray.html +1 -1
  20. data/docs/doc/Doing/ChronifyNumeric.html +1 -1
  21. data/docs/doc/Doing/ChronifyString.html +1 -1
  22. data/docs/doc/Doing/Color.html +1 -1
  23. data/docs/doc/Doing/Completion/BashCompletions.html +1 -1
  24. data/docs/doc/Doing/Completion/FigCompletions.html +1 -1
  25. data/docs/doc/Doing/Completion/FishCompletions.html +1 -1
  26. data/docs/doc/Doing/Completion/StringUtils.html +1 -1
  27. data/docs/doc/Doing/Completion/ZshCompletions.html +1 -1
  28. data/docs/doc/Doing/Completion.html +1 -1
  29. data/docs/doc/Doing/Configuration.html +1 -1
  30. data/docs/doc/Doing/DayOneRenderer.html +1 -1
  31. data/docs/doc/Doing/DayoneExport.html +1 -1
  32. data/docs/doc/Doing/DoingExport.html +1 -1
  33. data/docs/doc/Doing/DoingImport.html +1 -1
  34. data/docs/doc/Doing/Entry.html +1 -1
  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/HistoryLimitError.html +1 -1
  40. data/docs/doc/Doing/Errors/InvalidPlugin.html +1 -1
  41. data/docs/doc/Doing/Errors/MissingBackupFile.html +1 -1
  42. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  43. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  44. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  45. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  46. data/docs/doc/Doing/Errors.html +1 -1
  47. data/docs/doc/Doing/HTMLExport.html +1 -1
  48. data/docs/doc/Doing/Hooks.html +1 -1
  49. data/docs/doc/Doing/Item.html +1 -1
  50. data/docs/doc/Doing/ItemDates.html +1 -1
  51. data/docs/doc/Doing/ItemQuery.html +1 -1
  52. data/docs/doc/Doing/ItemState.html +1 -1
  53. data/docs/doc/Doing/ItemTags.html +1 -1
  54. data/docs/doc/Doing/Items.html +1 -1
  55. data/docs/doc/Doing/JSONExport.html +1 -1
  56. data/docs/doc/Doing/JSONImport.html +1 -1
  57. data/docs/doc/Doing/Logger.html +1 -1
  58. data/docs/doc/Doing/MarkdownExport.html +1 -1
  59. data/docs/doc/Doing/Note.html +1 -1
  60. data/docs/doc/Doing/Pager.html +1 -1
  61. data/docs/doc/Doing/Plugins.html +1 -1
  62. data/docs/doc/Doing/Prompt.html +1 -1
  63. data/docs/doc/Doing/PromptChoose.html +1 -1
  64. data/docs/doc/Doing/PromptFZF.html +1 -1
  65. data/docs/doc/Doing/PromptInput.html +1 -1
  66. data/docs/doc/Doing/PromptSTD.html +1 -1
  67. data/docs/doc/Doing/PromptYN.html +1 -1
  68. data/docs/doc/Doing/Section.html +1 -1
  69. data/docs/doc/Doing/StringHighlight.html +1 -1
  70. data/docs/doc/Doing/StringNormalize.html +1 -1
  71. data/docs/doc/Doing/StringQuery.html +1 -1
  72. data/docs/doc/Doing/StringTags.html +1 -1
  73. data/docs/doc/Doing/StringTransform.html +1 -1
  74. data/docs/doc/Doing/StringTruncate.html +1 -1
  75. data/docs/doc/Doing/StringURL.html +1 -1
  76. data/docs/doc/Doing/SymbolNormalize.html +1 -1
  77. data/docs/doc/Doing/TaskPaperExport.html +1 -1
  78. data/docs/doc/Doing/TemplateExport.html +1 -1
  79. data/docs/doc/Doing/TemplateString.html +1 -1
  80. data/docs/doc/Doing/TimingImport.html +1 -1
  81. data/docs/doc/Doing/Types.html +1 -1
  82. data/docs/doc/Doing/Util/Backup.html +1 -1
  83. data/docs/doc/Doing/Util.html +1 -1
  84. data/docs/doc/Doing/Version.html +1 -1
  85. data/docs/doc/Doing/WWID.html +1 -1
  86. data/docs/doc/Doing.html +4 -4
  87. data/docs/doc/FalseClass.html +1 -1
  88. data/docs/doc/GLI/Commands/Help.html +1 -1
  89. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  90. data/docs/doc/GLI/Commands.html +1 -1
  91. data/docs/doc/GLI.html +1 -1
  92. data/docs/doc/Hash.html +1 -1
  93. data/docs/doc/Numeric.html +1 -1
  94. data/docs/doc/Object.html +1 -1
  95. data/docs/doc/PhraseParser/Operator.html +1 -1
  96. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  97. data/docs/doc/PhraseParser/Query.html +1 -1
  98. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  99. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  100. data/docs/doc/PhraseParser/TermClause.html +1 -1
  101. data/docs/doc/PhraseParser.html +1 -1
  102. data/docs/doc/Status.html +1 -1
  103. data/docs/doc/String.html +1 -1
  104. data/docs/doc/Symbol.html +1 -1
  105. data/docs/doc/Time.html +1 -1
  106. data/docs/doc/TrueClass.html +1 -1
  107. data/docs/doc/_index.html +12 -5
  108. data/docs/doc/class_list.html +1 -1
  109. data/docs/doc/file.README.html +3 -3
  110. data/docs/doc/index.html +3 -3
  111. data/docs/doc/method_list.html +154 -138
  112. data/docs/doc/top-level-namespace.html +1 -1
  113. data/doing.rdoc +11 -11
  114. data/lib/doing/plugins/export/byday.rb +63 -0
  115. data/lib/doing/version.rb +1 -1
  116. metadata +3 -2
@@ -216,7 +216,7 @@
216
216
  </div>
217
217
 
218
218
  <div id="footer">
219
- Generated on Sun Jan 1 07:34:41 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.75
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.75'
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.75
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