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 +4 -4
- data/CHANGELOG.md +17 -0
- data/CONTRIBUTING.md +8 -0
- data/QUICKSTART.md +3 -0
- data/README.md +61 -0
- data/assets/fin_it_logo.png +0 -0
- data/lib/fin_it/version.rb +1 -1
- data/lib/fin_it.rb +0 -1
- metadata +18 -61
- data/lib/fin_it/engine.rb +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d9cf21c03d42ead843c59e9722edd1d3b60d295dfc4cd211458baf9cf8be07c
|
|
4
|
+
data.tar.gz: 8715e22f9dd4ef2505eafc15c08ec30663d35c1a4c6bfe2b9b9675b6c49d24f6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
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
|
+
|
data/assets/fin_it_logo.png
CHANGED
|
Binary file
|
data/lib/fin_it/version.rb
CHANGED
data/lib/fin_it.rb
CHANGED
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.
|
|
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:
|
|
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: '
|
|
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: '
|
|
54
|
+
version: '0.1'
|
|
97
55
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
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.
|
|
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.
|
|
68
|
+
version: '0.16'
|
|
111
69
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
70
|
+
name: minitest
|
|
113
71
|
requirement: !ruby/object:Gem::Requirement
|
|
114
72
|
requirements:
|
|
115
73
|
- - "~>"
|
|
116
74
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0
|
|
118
|
-
type: :
|
|
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
|
|
82
|
+
version: '5.0'
|
|
125
83
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
84
|
+
name: rake
|
|
127
85
|
requirement: !ruby/object:Gem::Requirement
|
|
128
86
|
requirements:
|
|
129
87
|
- - "~>"
|
|
130
88
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '
|
|
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: '
|
|
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.
|
|
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