blend_spreadsheet_loan_generator 0.1.33 → 0.1.38
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7600f8eb355e9e5505dbddbbf4fee01c9f3830f20a3f33d40e64d90a1ef4ca92
|
4
|
+
data.tar.gz: 34f88205215b6c1885061567a2e506500749bba02e4ea37c859abb192a392f66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a98439ca0cc32a014b5eb9a319db03e1ea5e176b20dbde268dc4f81d54da3b702d33ffc085a329988858d0f0448880e76fae10ad5440009253031dfc1d340439
|
7
|
+
data.tar.gz: 0663020d3eecf5a36d7c7eff0fedfa2f166692eac16d4959a32e2157c4e7cd3aede6dc60c981e2de0b444eee82bec8c07621011d7876caa980adc01ec6779dec
|
@@ -169,15 +169,28 @@ module BlendSpreadsheetLoanGenerator
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def period_calculated_fees_formula(line:)
|
172
|
-
|
173
|
-
|
174
|
-
remaining_capital_start(line)
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
172
|
+
term = line - 1
|
173
|
+
if loan.deferred_and_capitalized > 0 && term > loan.deferred_and_capitalized
|
174
|
+
with_fees = "#{remaining_capital_start(line)} * (1 + #{period_rate(line)} + #{period_fees_rate(line)})^#{loan.deferred_and_capitalized} * (#{period_rate(line)} + #{period_fees_rate(line)})"
|
175
|
+
without_fees = "#{remaining_capital_start(line)} * (1 + #{period_rate(line)})^#{loan.deferred_and_capitalized} * #{period_rate(line)}"
|
176
|
+
"=#{with_fees} - #{without_fees}"
|
177
|
+
elsif loan.bullet_term?(term)
|
178
|
+
with_fees = "#{remaining_capital_start(line)} * (1 + #{period_fees_rate(line)} + #{period_rate(line)})^#{index(line)}"
|
179
|
+
without_fees = "#{remaining_capital_start(line)} * (1 + #{period_rate(line)})^#{index(line)}"
|
180
|
+
current = "#{with_fees} - #{without_fees}"
|
179
181
|
|
180
|
-
|
182
|
+
"=#{current} - #{capitalized_fees_end(line - 1)}"
|
183
|
+
else
|
184
|
+
amount_to_capitalize = [
|
185
|
+
'(',
|
186
|
+
remaining_capital_start(line),
|
187
|
+
'+',
|
188
|
+
capitalized_interests_start(line),
|
189
|
+
')'
|
190
|
+
].join(' ')
|
191
|
+
|
192
|
+
"=#{amount_to_capitalize} * #{period_fees_rate(line)}"
|
193
|
+
end
|
181
194
|
end
|
182
195
|
|
183
196
|
def capitalized_fees_start_formula(line:)
|
@@ -112,6 +112,10 @@ module BlendSpreadsheetLoanGenerator
|
|
112
112
|
fully_deferred? && deferred_and_capitalized == total_deferred_duration
|
113
113
|
end
|
114
114
|
|
115
|
+
def bullet_term?(term)
|
116
|
+
deferred_and_capitalized <= term || bullet? # for last term
|
117
|
+
end
|
118
|
+
|
115
119
|
def in_fine?
|
116
120
|
fully_deferred? && deferred == total_deferred_duration
|
117
121
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blend_spreadsheet_loan_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.38
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MZiserman
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|