fin_it 0.1.0 → 0.1.3

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: 59e004f074fbfaec9a9898cd16213992433339e63994579ba5ea8daa8cde0470
4
- data.tar.gz: 37448fbcd255d8cc44bf36fedb6f4b522a6365c87cc5531c6c1e6528d42dda33
3
+ metadata.gz: 1d9cf21c03d42ead843c59e9722edd1d3b60d295dfc4cd211458baf9cf8be07c
4
+ data.tar.gz: 8715e22f9dd4ef2505eafc15c08ec30663d35c1a4c6bfe2b9b9675b6c49d24f6
5
5
  SHA512:
6
- metadata.gz: 24d9587217a55d4ee8bf370b24b2235ece9520ed9332ad3b8dbb69b7946691e181095dee2c0dea73c31e73647ab358976ce2df8e6cb99a48d7a436ba7d960073
7
- data.tar.gz: c16eac875c5058a854fad9be3d40e0359dfc112fe87b8a3077772abdb72cb40ee2c0cdd47adb93d9b52cdc11b39396894db8a93e7417ac66fa554e21aa252e6b
6
+ metadata.gz: 52951a27c20806290bee0dc75ba9960e5c60bfd819ed6ce635f702c0a591dc277cf2b2ebbcf6657179fd465e3879c3694e162d532a3968bffca340bdaf7e72c9
7
+ data.tar.gz: f3e0d985656524031872d4ebf5fcc81c9d546f14caf43300ea0c01a95d4b796a8261805c4ff597b69c1286f7ba67de4fac72d6805b05b1b807412b8aa313d9c5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.3] - 2026-03-07
4
+
5
+ - Automated patch release from PR #6: chore: remove unused deps and expand Ruby CI matrix (https://github.com/growth-constant/fin_it/pull/6)
6
+
7
+
8
+ ## [0.1.2] - 2026-03-07
9
+
10
+ - Automated patch release from PR #5: chore: retrigger publish after bundler fix (https://github.com/growth-constant/fin_it/pull/5)
11
+
12
+
13
+ ## [0.1.1] - 2026-03-07
14
+
15
+ - Automated patch release from PR #3: docs: trigger publish workflow (https://github.com/growth-constant/fin_it/pull/3)
16
+
17
+
3
18
  ## [0.1.0] - 2026-03-07
4
19
 
5
20
  - Public rebrand to `fin_it`.
@@ -7,3 +22,5 @@
7
22
  - Private/sensitive scripts removed and replaced with fictional demos.
8
23
  - Added GitHub Actions for PR validation and guarded publish-on-master.
9
24
  - Added public-facing documentation set and project branding assets.
25
+
26
+ Release trigger note: patch release automation validation.
data/CONTRIBUTING.md CHANGED
@@ -18,3 +18,11 @@ bundle exec rake test
18
18
  - Add or update tests for behavior changes.
19
19
  - Ensure CI is green.
20
20
  - Avoid committing private or customer data.
21
+ - Set exactly one release label on the PR: `release:patch`, `release:minor`, or `release:major`.
22
+
23
+ ## Release automation
24
+
25
+ - On merge to `main`, the release workflow reads the PR release label.
26
+ - It bumps `lib/fin_it/version.rb` automatically.
27
+ - It updates `CHANGELOG.md` automatically.
28
+ - It runs `bundle exec rake release` to tag, push, and publish to RubyGems.
data/QUICKSTART.md CHANGED
@@ -54,3 +54,6 @@ income_statement.output(FinIt::Outputs::ConsoleOutput)
54
54
  ```bash
55
55
  bundle exec rake test
56
56
  ```
57
+
58
+ Trigger publish pipeline on main.
59
+
data/README.md CHANGED
@@ -57,6 +57,66 @@ report = FinIt::Reports::IncomeStatement.new(
57
57
  report.output(FinIt::Outputs::ConsoleOutput)
58
58
  ```
59
59
 
60
+ ## Generate Excel Reports
61
+
62
+ `fin_it` supports spreadsheet export through `FinIt::Outputs::ZaxcelOutput`.
63
+
64
+ ### Single report to `.xlsx`
65
+
66
+ ```ruby
67
+ income_statement = FinIt::Reports::IncomeStatement.new(
68
+ model,
69
+ start_date: Date.new(2026, 1, 1),
70
+ end_date: Date.new(2026, 12, 31),
71
+ output_currency: "USD"
72
+ )
73
+
74
+ income_statement.output(
75
+ FinIt::Outputs::ZaxcelOutput,
76
+ filename: "income_statement_2026.xlsx"
77
+ )
78
+ ```
79
+
80
+ ### Monthly comparison report in Excel
81
+
82
+ ```ruby
83
+ monthly = income_statement.period_summary(period_type: :monthly)
84
+
85
+ income_statement.output(
86
+ FinIt::Outputs::ZaxcelOutput,
87
+ periods: monthly,
88
+ filename: "income_statement_monthly_2026.xlsx"
89
+ )
90
+ ```
91
+
92
+ ### Multi-sheet workbook (Income + Balance Sheet)
93
+
94
+ ```ruby
95
+ model.generate_transactions(Date.new(2026, 12, 31))
96
+
97
+ balance_sheet = FinIt::Reports::BalanceSheet.new(
98
+ model,
99
+ start_date: Date.new(2026, 1, 1),
100
+ end_date: Date.new(2026, 12, 31),
101
+ output_currency: "USD"
102
+ )
103
+
104
+ FinIt::Outputs::ZaxcelOutput.new(income_statement, {
105
+ reports: [
106
+ { report: income_statement, sheet_name: "Income 2026", periods: monthly },
107
+ { report: balance_sheet, sheet_name: "Balance 2026" }
108
+ ],
109
+ filename: "financial_package_2026.xlsx"
110
+ }).generate
111
+ ```
112
+
113
+ ## Run Demo Examples
114
+
115
+ ```bash
116
+ ruby test/scripts/generate_demo_reports.rb
117
+ ruby test/scripts/startup_saas_demo.rb
118
+ ```
119
+
60
120
  ## Documentation
61
121
 
62
122
  - [QUICKSTART.md](QUICKSTART.md)
@@ -72,3 +132,4 @@ This project was rebranded from the previous internal package naming. Public API
72
132
  ## License
73
133
 
74
134
  MIT. See [LICENSE](LICENSE).
135
+
Binary file
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinIt
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.3"
5
5
  end
6
6
 
data/lib/fin_it.rb CHANGED
@@ -7,7 +7,6 @@ require "bigdecimal"
7
7
  Money.rounding_mode = BigDecimal::ROUND_HALF_UP
8
8
 
9
9
  require "fin_it/version"
10
- require "fin_it/engine"
11
10
  require "fin_it/account"
12
11
  require "fin_it/temporal_value"
13
12
  require "fin_it/calculator"
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fin_it
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Buildit
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2026-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '8.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '8.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: dentaku
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -53,89 +39,61 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '6.16'
55
41
  - !ruby/object:Gem::Dependency
56
- name: money-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.15'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.15'
69
- - !ruby/object:Gem::Dependency
70
- name: ancestry
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '4.3'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '4.3'
83
- - !ruby/object:Gem::Dependency
84
- name: caxlsx
42
+ name: zaxcel
85
43
  requirement: !ruby/object:Gem::Requirement
86
44
  requirements:
87
45
  - - "~>"
88
46
  - !ruby/object:Gem::Version
89
- version: '4.1'
47
+ version: '0.1'
90
48
  type: :runtime
91
49
  prerelease: false
92
50
  version_requirements: !ruby/object:Gem::Requirement
93
51
  requirements:
94
52
  - - "~>"
95
53
  - !ruby/object:Gem::Version
96
- version: '4.1'
54
+ version: '0.1'
97
55
  - !ruby/object:Gem::Dependency
98
- name: zaxcel
56
+ name: ice_cube
99
57
  requirement: !ruby/object:Gem::Requirement
100
58
  requirements:
101
59
  - - "~>"
102
60
  - !ruby/object:Gem::Version
103
- version: '0.1'
61
+ version: '0.16'
104
62
  type: :runtime
105
63
  prerelease: false
106
64
  version_requirements: !ruby/object:Gem::Requirement
107
65
  requirements:
108
66
  - - "~>"
109
67
  - !ruby/object:Gem::Version
110
- version: '0.1'
68
+ version: '0.16'
111
69
  - !ruby/object:Gem::Dependency
112
- name: ice_cube
70
+ name: minitest
113
71
  requirement: !ruby/object:Gem::Requirement
114
72
  requirements:
115
73
  - - "~>"
116
74
  - !ruby/object:Gem::Version
117
- version: '0.16'
118
- type: :runtime
75
+ version: '5.0'
76
+ type: :development
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
79
  requirements:
122
80
  - - "~>"
123
81
  - !ruby/object:Gem::Version
124
- version: '0.16'
82
+ version: '5.0'
125
83
  - !ruby/object:Gem::Dependency
126
- name: minitest
84
+ name: rake
127
85
  requirement: !ruby/object:Gem::Requirement
128
86
  requirements:
129
87
  - - "~>"
130
88
  - !ruby/object:Gem::Version
131
- version: '5.0'
89
+ version: '13.0'
132
90
  type: :development
133
91
  prerelease: false
134
92
  version_requirements: !ruby/object:Gem::Requirement
135
93
  requirements:
136
94
  - - "~>"
137
95
  - !ruby/object:Gem::Version
138
- version: '5.0'
96
+ version: '13.0'
139
97
  - !ruby/object:Gem::Dependency
140
98
  name: sqlite3
141
99
  requirement: !ruby/object:Gem::Requirement
@@ -184,7 +142,6 @@ files:
184
142
  - lib/fin_it/dsl/plan_builder.rb
185
143
  - lib/fin_it/dsl/project_inheritance_resolver.rb
186
144
  - lib/fin_it/dsl/variable_builder.rb
187
- - lib/fin_it/engine.rb
188
145
  - lib/fin_it/financial_model.rb
189
146
  - lib/fin_it/financial_model/account_balances.rb
190
147
  - lib/fin_it/financial_model/account_hierarchy.rb
@@ -242,7 +199,7 @@ licenses:
242
199
  metadata:
243
200
  homepage_uri: https://github.com/growth-constant/financials
244
201
  source_code_uri: https://github.com/growth-constant/financials
245
- post_install_message:
202
+ post_install_message:
246
203
  rdoc_options: []
247
204
  require_paths:
248
205
  - lib
@@ -257,8 +214,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
214
  - !ruby/object:Gem::Version
258
215
  version: '0'
259
216
  requirements: []
260
- rubygems_version: 3.0.3.1
261
- signing_key:
217
+ rubygems_version: 3.4.19
218
+ signing_key:
262
219
  specification_version: 4
263
220
  summary: Financial modeling and reporting gem
264
221
  test_files: []
data/lib/fin_it/engine.rb DELETED
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails"
4
-
5
- module FinIt
6
- class Engine < ::Rails::Engine
7
- isolate_namespace FinIt
8
-
9
- config.generators do |g|
10
- g.test_framework :minitest
11
- g.fixture_replacement :factory_bot
12
- end
13
- end
14
- end
15
-