hledger-forecast 1.5.1 → 2.0.0

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +22 -0
  3. data/.github/workflows/{ci.yml → test.yml} +5 -5
  4. data/.rubocop.yml +17 -17
  5. data/README.md +8 -172
  6. data/example.journal +14 -14
  7. data/hledger-forecast.gemspec +1 -1
  8. data/lib/hledger_forecast/calculator.rb +5 -1
  9. data/lib/hledger_forecast/cli.rb +5 -18
  10. data/lib/hledger_forecast/generator.rb +52 -35
  11. data/lib/hledger_forecast/settings.rb +42 -27
  12. data/lib/hledger_forecast/summarizer.rb +28 -62
  13. data/lib/hledger_forecast/summarizer_formatter.rb +12 -3
  14. data/lib/hledger_forecast/transactions/default.rb +28 -57
  15. data/lib/hledger_forecast/transactions/trackers.rb +34 -40
  16. data/lib/hledger_forecast/utilities.rb +14 -0
  17. data/lib/hledger_forecast/version.rb +1 -1
  18. data/lib/hledger_forecast.rb +1 -2
  19. data/spec/cli_spec.rb +3 -12
  20. data/spec/computed_amounts_spec.rb +11 -22
  21. data/spec/custom_spec.rb +15 -35
  22. data/spec/half-yearly_spec.rb +6 -13
  23. data/spec/monthly_end_date_spec.rb +8 -18
  24. data/spec/monthly_end_date_transaction_spec.rb +20 -45
  25. data/spec/monthly_spec.rb +11 -28
  26. data/spec/once_spec.rb +6 -13
  27. data/spec/quarterly_spec.rb +5 -12
  28. data/spec/summarizer_spec.rb +11 -42
  29. data/spec/track_spec.rb +19 -49
  30. data/spec/verbose_output_spec.rb +3 -3
  31. data/spec/yearly_spec.rb +5 -12
  32. metadata +10 -18
  33. data/example.yml +0 -98
  34. data/lib/hledger_forecast/csv_parser.rb +0 -106
  35. data/spec/csv_and_yml_comparison_spec.rb +0 -32
  36. data/spec/csv_parser_spec.rb +0 -110
  37. data/spec/modifier_spec.rb +0 -102
  38. data/spec/stubs/forecast.yml +0 -19
data/spec/custom_spec.rb CHANGED
@@ -1,52 +1,32 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- base_config = <<~YAML
4
- custom:
5
- - account: "[Assets:Bank]"
6
- from: "2023-05-01"
7
- transactions:
8
- - amount: 80
9
- category: "[Expenses:Personal Care]"
10
- description: Hair and beauty
11
- frequency: "every 2 weeks"
12
- - amount: 50
13
- category: "[Expenses:Groceries]"
14
- description: Gotta feed that stomach
15
- frequency: "every 5 days"
16
-
17
- settings:
18
- currency: GBP
19
- YAML
3
+ base_config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ custom,every 2 weeks,[Assets:Bank],01/05/2023,,Hair and beauty,[Expenses:Personal Care],80,,,
6
+ custom,every 5 days,[Assets:Bank],01/05/2023,,Food,[Expenses:Groceries],50,,,
7
+ settings,currency,GBP,,,,,,,,
8
+ CSV
20
9
 
21
10
  base_output = <<~JOURNAL
22
11
  ~ every 2 weeks from 2023-05-01 * Hair and beauty
23
- [Expenses:Personal Care] £80.00; Hair and beauty
12
+ [Expenses:Personal Care] £80.00 ; Hair and beauty
24
13
  [Assets:Bank]
25
14
 
26
- ~ every 5 days from 2023-05-01 * Gotta feed that stomach
27
- [Expenses:Groceries] £50.00; Gotta feed that stomach
15
+ ~ every 5 days from 2023-05-01 * Food
16
+ [Expenses:Groceries] £50.00 ; Food
28
17
  [Assets:Bank]
29
18
 
30
19
  JOURNAL
31
20
 
32
- calculated_config = <<~YAML
33
- custom:
34
- - account: "[Assets:Bank]"
35
- from: "2023-05-01"
36
- transactions:
37
- - amount: 80
38
- category: "[Expenses:Personal Care]"
39
- description: Hair and beauty
40
- frequency: "every 2 weeks"
41
- to: "=6"
42
-
43
- settings:
44
- currency: GBP
45
- YAML
21
+ calculated_config = <<~CSV
22
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
23
+ custom,every 2 weeks,[Assets:Bank],01/05/2023,=6,Hair and beauty,[Expenses:Personal Care],80,,,
24
+ settings,currency,GBP,,,,,,,,
25
+ CSV
46
26
 
47
27
  calculated_output = <<~JOURNAL
48
28
  ~ every 2 weeks from 2023-05-01 to 2023-10-31 * Hair and beauty
49
- [Expenses:Personal Care] £80.00; Hair and beauty
29
+ [Expenses:Personal Care] £80.00 ; Hair and beauty
50
30
  [Assets:Bank]
51
31
 
52
32
  JOURNAL
@@ -1,21 +1,14 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- settings:
5
- currency: GBP
6
-
7
- half-yearly:
8
- - from: "2023-04-01"
9
- account: "Assets:Bank"
10
- transactions:
11
- - description: Holiday
12
- category: "Expenses:Holiday"
13
- amount: 500
14
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ half-yearly,,Assets:Bank,01/04/2023,,Holiday,Expenses:Holiday,500,,,
6
+ settings,currency,GBP,,,,,,,,
7
+ CSV
15
8
 
16
9
  output = <<~JOURNAL
17
10
  ~ every 6 months from 2023-04-01 * Holiday
18
- Expenses:Holiday £500.00; Holiday
11
+ Expenses:Holiday £500.00 ; Holiday
19
12
  Assets:Bank
20
13
 
21
14
  JOURNAL
@@ -1,26 +1,16 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- settings:
5
- currency: GBP
6
-
7
- monthly:
8
- - from: "2023-03-01"
9
- to: "2023-06-01"
10
- account: "Assets:Bank"
11
- transactions:
12
- - description: Mortgage
13
- category: "Expenses:Mortgage"
14
- amount: 2000.00
15
- - description: Food
16
- category: "Expenses:Food"
17
- amount: 100.00
18
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ monthly,,Assets:Bank,01/03/2023,01/06/2023,Mortgage,Expenses:Mortgage,2000.00,,,
6
+ monthly,,Assets:Bank,01/03/2023,01/06/2023,Food,Expenses:Food,100.00,,,
7
+ settings,currency,GBP,,,,,,,,
8
+ CSV
19
9
 
20
10
  output = <<~JOURNAL
21
11
  ~ monthly from 2023-03-01 to 2023-06-01 * Mortgage, Food
22
- Expenses:Mortgage £2,000.00; Mortgage
23
- Expenses:Food £100.00 ; Food
12
+ Expenses:Mortgage £2,000.00 ; Mortgage
13
+ Expenses:Food £100.00 ; Food
24
14
  Assets:Bank
25
15
 
26
16
  JOURNAL
@@ -1,66 +1,41 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- base_config = <<~YAML
4
- settings:
5
- currency: GBP
6
-
7
- monthly:
8
- - from: "2023-03-01"
9
- account: "Assets:Bank"
10
- transactions:
11
- - description: Mortgage
12
- to: "2023-06-01"
13
- category: "Expenses:Mortgage"
14
- amount: 2000.00
15
- - description: Mortgage top up
16
- to: "2023-06-01"
17
- category: "Expenses:Mortgage Top Up"
18
- amount: 200.00
19
- - description: Food
20
- category: "Expenses:Food"
21
- amount: 100.00
22
- - description: Party time
23
- category: "Expenses:Going Out"
24
- amount: 50.00
25
- YAML
26
-
27
- base_output = <<~JOURNAL
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ monthly,,Assets:Bank,01/03/2023,01/06/2023,Mortgage,Expenses:Mortgage,2000.00,,,
6
+ monthly,,Assets:Bank,01/03/2023,01/06/2023,Mortgage top up,Expenses:Mortgage,200.00,,,
7
+ monthly,,Assets:Bank,01/03/2023,,Food,Expenses:Food,100.00,,,
8
+ settings,currency,GBP,,,,,,,,
9
+ CSV
10
+
11
+ output = <<~JOURNAL
28
12
  ~ monthly from 2023-03-01 to 2023-06-01 * Mortgage, Mortgage top up
29
- Expenses:Mortgage £2,000.00; Mortgage
30
- Expenses:Mortgage Top Up £200.00 ; Mortgage top up
13
+ Expenses:Mortgage £2,000.00 ; Mortgage
14
+ Expenses:Mortgage £200.00 ; Mortgage top up
31
15
  Assets:Bank
32
16
 
33
- ~ monthly from 2023-03-01 * Food, Party time
34
- Expenses:Food £100.00 ; Food
35
- Expenses:Going Out £50.00 ; Party time
17
+ ~ monthly from 2023-03-01 * Food
18
+ Expenses:Food £100.00 ; Food
36
19
  Assets:Bank
37
20
 
38
21
  JOURNAL
39
22
 
40
- computed_config = <<~YAML
41
- settings:
42
- currency: GBP
43
-
44
- monthly:
45
- - from: "2023-03-01"
46
- account: "Assets:Bank"
47
- transactions:
48
- - description: Mortgage
49
- category: "Expenses:Mortgage"
50
- to: "=12"
51
- amount: 2000.00
52
- YAML
23
+ computed_config = <<~CSV
24
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
25
+ monthly,,Assets:Bank,01/03/2023,=12,Mortgage,Expenses:Mortgage,2000.00,,,
26
+ settings,currency,GBP,,,,,,,,
27
+ CSV
53
28
 
54
29
  computed_output = <<~JOURNAL
55
30
  ~ monthly from 2023-03-01 to 2024-02-29 * Mortgage
56
- Expenses:Mortgage £2,000.00; Mortgage
31
+ Expenses:Mortgage £2,000.00 ; Mortgage
57
32
  Assets:Bank
58
33
 
59
34
  JOURNAL
60
35
 
61
36
  RSpec.describe 'generate' do
62
37
  it 'generates a forecast with correct MONTHLY transactions that have an end date' do
63
- expect(HledgerForecast::Generator.generate(base_config)).to eq(base_output)
38
+ expect(HledgerForecast::Generator.generate(config)).to eq(output)
64
39
  end
65
40
 
66
41
  it 'generates a forecast with correct MONTHLY transactions that have a COMPUTED end date' do
data/spec/monthly_spec.rb CHANGED
@@ -1,37 +1,20 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- monthly:
5
- - account: "Assets:Bank"
6
- from: "2023-03-01"
7
- transactions:
8
- - amount: 2000.55
9
- category: "Expenses:Mortgage"
10
- description: Mortgage
11
- - amount: 100
12
- category: "Expenses:Food"
13
- description: Food
14
- - account: "Assets:Savings"
15
- from: "2023-03-01"
16
- transactions:
17
- - amount: -1000
18
- category: "Assets:Bank"
19
- description: Savings
20
-
21
- settings:
22
- currency: GBP
23
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ monthly,,Assets:Bank,01/03/2023,,Bills,Expenses:Bills,175,,,
6
+ monthly,,Assets:Bank,01/03/2023,,Food,Expenses:Food,500,,,
7
+ monthly,,Assets:Bank,01/03/2023,,Savings,Assets:Savings,-1000,,,
8
+ settings,currency,GBP,,,,,,,,
9
+ CSV
24
10
 
25
11
  output = <<~JOURNAL
26
- ~ monthly from 2023-03-01 * Mortgage, Food
27
- Expenses:Mortgage £2,000.55; Mortgage
28
- Expenses:Food £100.00 ; Food
12
+ ~ monthly from 2023-03-01 * Bills, Food, Savings
13
+ Expenses:Bills £175.00 ; Bills
14
+ Expenses:Food £500.00 ; Food
15
+ Assets:Savings £-1,000.00; Savings
29
16
  Assets:Bank
30
17
 
31
- ~ monthly from 2023-03-01 * Savings
32
- Assets:Bank £-1,000.00; Savings
33
- Assets:Savings
34
-
35
18
  JOURNAL
36
19
 
37
20
  RSpec.describe 'generate' do
data/spec/once_spec.rb CHANGED
@@ -1,21 +1,14 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- settings:
5
- currency: GBP
6
-
7
- once:
8
- - from: "2023-07-01"
9
- account: "Assets:Bank"
10
- transactions:
11
- - description: New Kitchen
12
- category: "Expense:House"
13
- amount: 5,000.00
14
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ once,,Assets:Bank,01/07/2023,,New Kitchen,Expenses:House,5000,,,
6
+ settings,currency,GBP,,,,,,,,
7
+ CSV
15
8
 
16
9
  output = <<~JOURNAL
17
10
  ~ 2023-07-01 * New Kitchen
18
- Expense:House £5,000.00; New Kitchen
11
+ Expenses:House £5,000.00; New Kitchen
19
12
  Assets:Bank
20
13
 
21
14
  JOURNAL
@@ -1,17 +1,10 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- settings:
5
- currency: GBP
6
-
7
- quarterly:
8
- - from: "2023-04-01"
9
- account: "Assets:Bank"
10
- transactions:
11
- - description: Bonus
12
- category: "Income:Bonus"
13
- amount: -1,000.00
14
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ quarterly,,Assets:Bank,01/04/2023,,Bonus,Income:Bonus,-1000,,,
6
+ settings,currency,GBP,,,,,,,,
7
+ CSV
15
8
 
16
9
  output = <<~JOURNAL
17
10
  ~ every 3 months from 2023-04-01 * Bonus
@@ -1,51 +1,20 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- monthly:
5
- - account: "Assets:Bank"
6
- from: "2023-03-01"
7
- transactions:
8
- - amount: 2000.55
9
- category: "Expenses:Mortgage"
10
- description: Mortgage
11
- to: "=24"
12
- - amount: 100
13
- category: "Expenses:Food"
14
- description: Food
15
- - account: "Assets:Savings"
16
- from: "2023-03-01"
17
- transactions:
18
- - amount: -1000
19
- category: "Assets:Bank"
20
- description: Savings
21
-
22
- custom:
23
- - account: "[Assets:Bank]"
24
- from: "2023-05-01"
25
- transactions:
26
- - amount: 80
27
- category: "[Expenses:Personal Care]"
28
- description: Hair and beauty
29
- frequency: "every 2 weeks"
30
- roll-up: 26
31
- - account: "[Assets:Checking]"
32
- from: "2023-05-01"
33
- transactions:
34
- - amount: 50
35
- category: "[Expenses:Groceries]"
36
- description: Gotta feed that stomach
37
- frequency: "every 5 days"
38
- roll-up: 73
39
-
40
- settings:
41
- currency: GBP
42
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ monthly,,Assets:Bank,01/03/2023,=24,Mortgage,Expenses:Mortgage,2000.55,,,
6
+ monthly,,Assets:Bank,01/03/2023,,Food,Expenses:Food,100,,,
7
+ monthly,,Assets:Savings,01/03/2023,,Savings,Assets:Bank,-1000,,,
8
+ custom,every 2 weeks,[Assets:Bank],01/05/2023,,Hair and beauty,[Expenses:Personal Care],80,26,,
9
+ custom,every 2 weeks,[Assets:Checking],01/05/2023,,Extra Food,[Expenses:Groceries],50,73,,
10
+ settings,currency,GBP,,,,,,,,
11
+ CSV
43
12
 
44
13
  RSpec.describe HledgerForecast::Summarizer do
45
14
  let(:summarizer) { described_class.new }
46
15
 
47
16
  describe '#generate with roll_up' do
48
- let(:forecast) { YAML.safe_load(config) }
17
+ let(:forecast) { CSV.parse(config, headers: true) }
49
18
  let(:cli_options) { { roll_up: 'monthly' } }
50
19
 
51
20
  before do
@@ -69,7 +38,7 @@ RSpec.describe HledgerForecast::Summarizer do
69
38
  end
70
39
 
71
40
  describe '#generate' do
72
- let(:forecast) { YAML.safe_load(config) }
41
+ let(:forecast) { CSV.parse(config, headers: true) }
73
42
  let(:cli_options) { nil }
74
43
 
75
44
  before do
data/spec/track_spec.rb CHANGED
@@ -4,31 +4,17 @@ current_month = Date.new(Date.today.year, Date.today.month, 1)
4
4
  previous_month = current_month.prev_month
5
5
  next_month = current_month.next_month
6
6
 
7
- base_config = <<~YAML
8
- once:
9
- - account: "Assets:Bank"
10
- from: "2023-03-05"
11
- transactions:
12
- - amount: 3000
13
- category: "Expenses:Tax"
14
- description: Tax owed
15
- track: true
16
- - amount: 100
17
- category: "Expenses:Food"
18
- description: Food expenses
19
- - amount: -1500
20
- category: "Income:Salary"
21
- description: Salary
22
- to: "2023-08-01"
23
- track: true
24
-
25
- settings:
26
- currency: GBP
27
- YAML
7
+ base_config = <<~CSV
8
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
9
+ once,,Assets:Bank,05/03/2023,,Tax owed,Expenses:Tax,3000,,,true
10
+ once,,Assets:Bank,05/03/2023,,Food expenses,Expenses:Food,100,,,
11
+ once,,Assets:Bank,05/03/2023,01/08/2023,Salary,Income:Salary,-1500,,,true
12
+ settings,currency,GBP,,,,,,,,
13
+ CSV
28
14
 
29
15
  base_output = <<~JOURNAL
30
16
  ~ 2023-03-05 * Food expenses
31
- Expenses:Food £100.00 ; Food expenses
17
+ Expenses:Food £100.00 ; Food expenses
32
18
  Assets:Bank
33
19
 
34
20
  ~ #{next_month} * [TRACKED] Tax owed
@@ -54,19 +40,11 @@ RSpec.describe 'Tracking transactions -' do
54
40
  it 'writes a NON-FOUND entry for dates that are close to the current period' do
55
41
  require 'tempfile'
56
42
 
57
- forecast_config = <<~YAML
58
- once:
59
- - account: "Assets:Bank"
60
- from: "#{previous_month}"
61
- transactions:
62
- - amount: 5000
63
- category: "Expenses:House"
64
- description: New kitchen
65
- track: true
66
-
67
- settings:
68
- currency: GBP
69
- YAML
43
+ forecast_config = <<~CSV
44
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
45
+ once,,Assets:Bank,"#{previous_month}",,New kitchen,Expenses:House,5000,,,true
46
+ settings,currency,GBP,,,,,,,,
47
+ CSV
70
48
 
71
49
  journal = <<~JOURNAL
72
50
  #{previous_month} * Opening balance
@@ -104,19 +82,11 @@ RSpec.describe 'Tracking transactions -' do
104
82
  end
105
83
 
106
84
  it 'treats a future tracked transaction as a regular transaction' do
107
- forecast_config = <<~YAML
108
- monthly:
109
- - account: "Assets:Bank"
110
- from: "#{next_month}"
111
- transactions:
112
- - amount: 100
113
- category: "Expenses:Food"
114
- description: Food expenses
115
- track: true
116
-
117
- settings:
118
- currency: GBP
119
- YAML
85
+ forecast_config = <<~CSV
86
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
87
+ monthly,,Assets:Bank,"#{next_month}",,Food expenses,Expenses:Food,100,,,true
88
+ settings,currency,GBP,,,,,,,,
89
+ CSV
120
90
 
121
91
  options = {}
122
92
  options[:transaction_file] = 'spec/stubs/transactions_not_found.journal'
@@ -125,7 +95,7 @@ RSpec.describe 'Tracking transactions -' do
125
95
 
126
96
  output = <<~JOURNAL
127
97
  ~ monthly from #{next_month} * Food expenses
128
- Expenses:Food £100.00; Food expenses
98
+ Expenses:Food £100.00 ; Food expenses
129
99
  Assets:Bank
130
100
 
131
101
  JOURNAL
@@ -2,15 +2,15 @@ require_relative '../lib/hledger_forecast'
2
2
 
3
3
  output = <<~JOURNAL
4
4
  ~ monthly from 2023-03-01 * Mortgage
5
- Expenses:Mortgage £2,000.55; Mortgage
5
+ Expenses:Mortgage £2,000.55 ; Mortgage
6
6
  Assets:Bank
7
7
 
8
8
  ~ monthly from 2023-03-01 * Food
9
- Expenses:Food £100.00 ; Food
9
+ Expenses:Food £100.00 ; Food
10
10
  Assets:Bank
11
11
 
12
12
  ~ monthly from 2023-03-01 * Savings
13
- Assets:Bank £-1,000.00; Savings
13
+ Assets:Bank £-1,000.00 ; Savings
14
14
  Assets:Savings
15
15
 
16
16
  JOURNAL
data/spec/yearly_spec.rb CHANGED
@@ -1,17 +1,10 @@
1
1
  require_relative '../lib/hledger_forecast'
2
2
 
3
- config = <<~YAML
4
- settings:
5
- currency: GBP
6
-
7
- yearly:
8
- - account: "Assets:Bank"
9
- from: "2023-04-01"
10
- transactions:
11
- - description: Bonus
12
- category: "Income:Bonus"
13
- amount: -3,000.00
14
- YAML
3
+ config = <<~CSV
4
+ type,frequency,account,from,to,description,category,amount,roll-up,summary_exclude,track
5
+ yearly,,Assets:Bank,01/04/2023,,Bonus,Income:Bonus,-3000,,,
6
+ settings,currency,GBP,,,,,,,,
7
+ CSV
15
8
 
16
9
  output = <<~JOURNAL
17
10
  ~ yearly from 2023-04-01 * Bonus
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.5.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oli Morris
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-01 00:00:00.000000000 Z
11
+ date: 2024-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -94,14 +94,15 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.12'
97
- description: Use a CSV or YAML file for improved forecasting with hledger
97
+ description: Use a CSV file for improved forecasting with hledger
98
98
  email: olimorris@users.noreply.github.com
99
99
  executables:
100
100
  - hledger-forecast
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
- - ".github/workflows/ci.yml"
104
+ - ".github/workflows/release.yml"
105
+ - ".github/workflows/test.yml"
105
106
  - ".gitignore"
106
107
  - ".rubocop.yml"
107
108
  - Gemfile
@@ -110,13 +111,11 @@ files:
110
111
  - bin/hledger-forecast
111
112
  - example.csv
112
113
  - example.journal
113
- - example.yml
114
114
  - hledger-forecast.gemspec
115
115
  - lib/hledger_forecast.rb
116
116
  - lib/hledger_forecast/calculator.rb
117
117
  - lib/hledger_forecast/cli.rb
118
118
  - lib/hledger_forecast/comparator.rb
119
- - lib/hledger_forecast/csv_parser.rb
120
119
  - lib/hledger_forecast/formatter.rb
121
120
  - lib/hledger_forecast/generator.rb
122
121
  - lib/hledger_forecast/settings.rb
@@ -125,22 +124,19 @@ files:
125
124
  - lib/hledger_forecast/transactions/default.rb
126
125
  - lib/hledger_forecast/transactions/modifiers.rb
127
126
  - lib/hledger_forecast/transactions/trackers.rb
127
+ - lib/hledger_forecast/utilities.rb
128
128
  - lib/hledger_forecast/version.rb
129
129
  - spec/cli_spec.rb
130
130
  - spec/compare_spec.rb
131
131
  - spec/computed_amounts_spec.rb
132
- - spec/csv_and_yml_comparison_spec.rb
133
- - spec/csv_parser_spec.rb
134
132
  - spec/custom_spec.rb
135
133
  - spec/half-yearly_spec.rb
136
- - spec/modifier_spec.rb
137
134
  - spec/monthly_end_date_spec.rb
138
135
  - spec/monthly_end_date_transaction_spec.rb
139
136
  - spec/monthly_spec.rb
140
137
  - spec/once_spec.rb
141
138
  - spec/quarterly_spec.rb
142
139
  - spec/stubs/forecast.csv
143
- - spec/stubs/forecast.yml
144
140
  - spec/stubs/output1.csv
145
141
  - spec/stubs/output2.csv
146
142
  - spec/stubs/transactions_found.journal
@@ -154,7 +150,7 @@ homepage: https://github.com/olimorris/hledger-forecast
154
150
  licenses:
155
151
  - MIT
156
152
  metadata: {}
157
- post_install_message:
153
+ post_install_message:
158
154
  rdoc_options: []
159
155
  require_paths:
160
156
  - lib
@@ -169,26 +165,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
165
  - !ruby/object:Gem::Version
170
166
  version: '0'
171
167
  requirements: []
172
- rubygems_version: 3.4.19
173
- signing_key:
168
+ rubygems_version: 3.3.5
169
+ signing_key:
174
170
  specification_version: 4
175
171
  summary: An extended wrapper around hledger's forecasting functionality
176
172
  test_files:
177
173
  - spec/cli_spec.rb
178
174
  - spec/compare_spec.rb
179
175
  - spec/computed_amounts_spec.rb
180
- - spec/csv_and_yml_comparison_spec.rb
181
- - spec/csv_parser_spec.rb
182
176
  - spec/custom_spec.rb
183
177
  - spec/half-yearly_spec.rb
184
- - spec/modifier_spec.rb
185
178
  - spec/monthly_end_date_spec.rb
186
179
  - spec/monthly_end_date_transaction_spec.rb
187
180
  - spec/monthly_spec.rb
188
181
  - spec/once_spec.rb
189
182
  - spec/quarterly_spec.rb
190
183
  - spec/stubs/forecast.csv
191
- - spec/stubs/forecast.yml
192
184
  - spec/stubs/output1.csv
193
185
  - spec/stubs/output2.csv
194
186
  - spec/stubs/transactions_found.journal