fin_it 0.1.0 → 0.1.2

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: 9c0b6a5df95bc7821279deb1aade2576c428c9ecebfb4c12fd218da56069da36
4
+ data.tar.gz: f8a9b2c5431fb88513e1484948116cebe743aa4de3d1208e2fa76de006b7b71c
5
5
  SHA512:
6
- metadata.gz: 24d9587217a55d4ee8bf370b24b2235ece9520ed9332ad3b8dbb69b7946691e181095dee2c0dea73c31e73647ab358976ce2df8e6cb99a48d7a436ba7d960073
7
- data.tar.gz: c16eac875c5058a854fad9be3d40e0359dfc112fe87b8a3077772abdb72cb40ee2c0cdd47adb93d9b52cdc11b39396894db8a93e7417ac66fa554e21aa252e6b
6
+ metadata.gz: 0c4295fe20381ef80d1e61c46ea56d6806f80dfa40d2900f64989b955e7c0ea7285798d81e78e868482bef585f5ec483729f34c49ddabaf6f9436379262e1128
7
+ data.tar.gz: b3844b0545e4d2750ea4a9f29cd6b2c8848ae5938330054ab44b77908637e041f72dd8e2c98b11c5498930d5b5a40841d801b6385ec3d494e78c19bab5aea617
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.2] - 2026-03-07
4
+
5
+ - Automated patch release from PR #5: chore: retrigger publish after bundler fix (https://github.com/growth-constant/fin_it/pull/5)
6
+
7
+
8
+ ## [0.1.1] - 2026-03-07
9
+
10
+ - Automated patch release from PR #3: docs: trigger publish workflow (https://github.com/growth-constant/fin_it/pull/3)
11
+
12
+
3
13
  ## [0.1.0] - 2026-03-07
4
14
 
5
15
  - Public rebrand to `fin_it`.
@@ -7,3 +17,5 @@
7
17
  - Private/sensitive scripts removed and replaced with fictional demos.
8
18
  - Added GitHub Actions for PR validation and guarded publish-on-master.
9
19
  - Added public-facing documentation set and project branding assets.
20
+
21
+ 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.2"
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.2
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
@@ -52,20 +38,6 @@ dependencies:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
40
  version: '6.16'
55
- - !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
41
  - !ruby/object:Gem::Dependency
70
42
  name: ancestry
71
43
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +108,20 @@ dependencies:
136
108
  - - "~>"
137
109
  - !ruby/object:Gem::Version
138
110
  version: '5.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '13.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '13.0'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: sqlite3
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -184,7 +170,6 @@ files:
184
170
  - lib/fin_it/dsl/plan_builder.rb
185
171
  - lib/fin_it/dsl/project_inheritance_resolver.rb
186
172
  - lib/fin_it/dsl/variable_builder.rb
187
- - lib/fin_it/engine.rb
188
173
  - lib/fin_it/financial_model.rb
189
174
  - lib/fin_it/financial_model/account_balances.rb
190
175
  - lib/fin_it/financial_model/account_hierarchy.rb
@@ -242,7 +227,7 @@ licenses:
242
227
  metadata:
243
228
  homepage_uri: https://github.com/growth-constant/financials
244
229
  source_code_uri: https://github.com/growth-constant/financials
245
- post_install_message:
230
+ post_install_message:
246
231
  rdoc_options: []
247
232
  require_paths:
248
233
  - lib
@@ -257,8 +242,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
242
  - !ruby/object:Gem::Version
258
243
  version: '0'
259
244
  requirements: []
260
- rubygems_version: 3.0.3.1
261
- signing_key:
245
+ rubygems_version: 3.4.19
246
+ signing_key:
262
247
  specification_version: 4
263
248
  summary: Financial modeling and reporting gem
264
249
  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
-