hledger-forecast 1.1.0 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37dbc9f011b6a43fa1d186e92dfb77c3c184cdb4a7cc5ef690a77d53c57f4722
4
- data.tar.gz: e71185f0ad678b45f1ffa155c89c491bd37d36307d845dd023b823db6ced42d4
3
+ metadata.gz: 410b448de275184312f25f5f5cc008fbaf945c27c40827c9f203fd3c14422729
4
+ data.tar.gz: d9c9f019852246dee148758231bd8619f10e8246459dd2b719ede97f31ee8e05
5
5
  SHA512:
6
- metadata.gz: d25713fb91fde68daaa07f6809a3c567afc18864a759e47fd032c31cd78cbe195eba2919deff4547d2fe6888e032f7394af4012aea839d1fc6b3d4ee7b1e94bf
7
- data.tar.gz: 363185c38d788ae91528dc1fde6e21201fc19bec673848202a43589c36c8be3f6fe8e54cb367bfb8652ea286eda6513ab38e86e20aef99f8b7011cb1351fed3b
6
+ metadata.gz: 7700e2fc1778ad1e0548cd53ce3648b38ec2f56ce493204b5bb1efedff0d6621c3563ec09494ed2362f926aa3fe22c10f06394f551b5907cb8c9106c2642e3a1
7
+ data.tar.gz: fba3f08d0c906fddaab46c31a236602b2843a0c6a5f56723cac9fdc89453e46b6871f129d0e8a684d369883f4dfa8a81cfde64e5997cf8ee4485e90e345ad772
data/.gitignore CHANGED
@@ -18,3 +18,4 @@ pkg/*
18
18
  # Misc
19
19
  test_output.journal
20
20
  todo.md
21
+ .vscode
data/README.md CHANGED
@@ -92,6 +92,7 @@ The available options are:
92
92
  -f, --forecast FILE The path to the FORECAST yaml file to summarize
93
93
  -r, --roll-up PERIOD The period to roll-up your forecasts into. One of:
94
94
  [yearly], [half-yearly], [quarterly], [monthly], [weekly], [daily]
95
+ -v, --verbose Show additional information in the summary
95
96
  -h, --help Show this help message
96
97
 
97
98
  ## :gear: Configuration
@@ -346,11 +347,11 @@ settings:
346
347
 
347
348
  **Yaml config file and output**
348
349
 
349
- <img src="https://user-images.githubusercontent.com/9512444/234382872-b81ac84d-2bcc-4488-a041-364f72627087.png" alt="Hledger-Forecast" />
350
+ <img src="https://github.com/olimorris/hledger-forecast/assets/9512444/c3c3222e-f797-4643-bebd-9c94134bee92" alt="Hledger-Forecast" />
350
351
 
351
352
  **Summarize command**
352
353
 
353
- <img src="https://user-images.githubusercontent.com/9512444/234386807-1301c8d9-af77-4f58-a3c3-a345b5e890a2.png" alt="Summarize command" />
354
+ <img src="https://github.com/olimorris/hledger-forecast/assets/9512444/f5017ea2-9606-46ec-8b38-8840dc175e7b" alt="Summarize command" />
354
355
 
355
356
  ## :paintbrush: Rationale
356
357
 
@@ -124,22 +124,27 @@ module HledgerForecast
124
124
  options[:roll_up] = rollup
125
125
  end
126
126
 
127
- opts.on("--from DATE",
128
- "Include transactions that start FROM a given DATE [yyyy-mm-dd]") do |from|
129
- options[:from] = from
127
+ opts.on("-v", "--verbose",
128
+ "Show additional information in the summary") do |_|
129
+ options[:verbose] = true
130
130
  end
131
131
 
132
- opts.on("--to DATE",
133
- "Include transactions that run TO a given DATE [yyyy-mm-dd]") do |to|
134
- options[:to] = to
135
- end
136
-
137
- opts.on("-s", "--scenario \"NAMES\"",
138
- "Include transactions from given scenarios, e.g.:",
139
- "\"base, rennovation, car purchase\"") do |_scenario|
140
- # Loop through scenarios, seperated by a comma
141
- options[:scenario] = {}
142
- end
132
+ # opts.on("--from DATE",
133
+ # "Include transactions that start FROM a given DATE [yyyy-mm-dd]") do |from|
134
+ # options[:from] = from
135
+ # end
136
+ #
137
+ # opts.on("--to DATE",
138
+ # "Include transactions that run TO a given DATE [yyyy-mm-dd]") do |to|
139
+ # options[:to] = to
140
+ # end
141
+
142
+ # opts.on("-s", "--scenario \"NAMES\"",
143
+ # "Include transactions from given scenarios, e.g.:",
144
+ # "\"base, rennovation, car purchase\"") do |_scenario|
145
+ # # Loop through scenarios, seperated by a comma
146
+ # options[:scenario] = {}
147
+ # end
143
148
 
144
149
  opts.on_tail("-h", "--help", "Show this help message") do
145
150
  puts opts
@@ -42,8 +42,15 @@ module HledgerForecast
42
42
  total = 0
43
43
  items.each do |item|
44
44
  total += item[:amount]
45
- @table.add_row [{ value: item[:category], colspan: 2, alignment: :left },
46
- { value: format_amount(item[:amount]), alignment: :right }]
45
+
46
+ if @settings[:verbose]
47
+ @table.add_row [{ value: item[:category], alignment: :left },
48
+ { value: item[:description], alignment: :left },
49
+ { value: format_amount(item[:amount]), alignment: :right }]
50
+ else
51
+ @table.add_row [{ value: item[:category], colspan: 2, alignment: :left },
52
+ { value: format_amount(item[:amount]), alignment: :right }]
53
+ end
47
54
  end
48
55
 
49
56
  @table.add_row [{ value: "TOTAL".bold, colspan: 2, alignment: :left },
@@ -78,9 +85,17 @@ module HledgerForecast
78
85
  # Sort the array
79
86
  sorted_sums = sort_roll_up(sum_hash, :sum)
80
87
 
81
- sorted_sums.each do |hash|
82
- @table.add_row [{ value: hash[:category], colspan: 2, alignment: :left },
83
- { value: format_amount(hash[:sum]), alignment: :right }]
88
+ if @settings[:verbose]
89
+ sorted_sums.each do |hash|
90
+ @table.add_row [{ value: hash[:category], colspan: 1, alignment: :left },
91
+ { value: hash[:descriptions], colspan: 1, alignment: :left },
92
+ { value: format_amount(hash[:sum]), alignment: :right }]
93
+ end
94
+ else
95
+ sorted_sums.each do |hash|
96
+ @table.add_row [{ value: hash[:category], colspan: 2, alignment: :left },
97
+ { value: format_amount(hash[:sum]), alignment: :right }]
98
+ end
84
99
  end
85
100
  end
86
101
 
@@ -1,3 +1,3 @@
1
1
  module HledgerForecast
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hledger-forecast
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oli Morris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-20 00:00:00.000000000 Z
11
+ date: 2023-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize