blend_spreadsheet_loan_generator 0.1.32 → 0.1.37

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: b0c908a47e7cfd11f049bbcf71442c828536f4c29e1b92fed35fb2e496c7a039
4
- data.tar.gz: bcb3723e79bd901866231af08940d11a01e790e9c1303b240f981748c4a770bc
3
+ metadata.gz: 27190e62c6f022886585a05178b48b3145887fc2299d32dd184572d034f8a22f
4
+ data.tar.gz: 4208f3be04bc68c700ad262fcd90e7e6130c3eb3414ef5ac8ae46035a6d7cb30
5
5
  SHA512:
6
- metadata.gz: 9b2ce78a943c5265d0ff1fc5f086b0b5d4ddd189589b492f428a9fdc3df01f4d0ea14394befe2f4388afc19d9caac0a1fb3fcd6eecc7c16e1321af7f0924c412
7
- data.tar.gz: 923d79bab361d9eac36d94dc6f0738a580c36cfa69b3b2898986b50f49e7d22dcb83c7eb8b83aa0a92d6699ca97a2f59b543eb07a58e1245e09bbe2386298d96
6
+ metadata.gz: 075fae95ddf44ce9ce1b360debd2942c5cfbb94a623f9f37519f74109db3f43cab3624953c383a14dfc829819a1e3d363e569aada4305ea63755313ccc58df3b
7
+ data.tar.gz: 1c2721d5083b1e9e5bda9055dcc9ae3afe69744fb3b98036373a6b57f18e2d6dce2e0d34e0894cff7e21c8dd376b5fe9ea3e9790935e85cf721dc6456328327c
@@ -169,17 +169,28 @@ module BlendSpreadsheetLoanGenerator
169
169
  end
170
170
 
171
171
  def period_calculated_fees_formula(line:)
172
- amount_to_capitalize = [
173
- '(',
174
- remaining_capital_start(line),
175
- '+',
176
- capitalized_interests_start(line),
177
- '+',
178
- capitalized_fees_start(line),
179
- ')'
180
- ].join(' ')
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 == loan.duration
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}"
181
181
 
182
- "=#{amount_to_capitalize} * #{period_fees_rate(line)}"
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
183
194
  end
184
195
 
185
196
  def capitalized_fees_start_formula(line:)
@@ -1,7 +1,7 @@
1
1
  require 'dry/cli'
2
2
 
3
3
  module BlendSpreadsheetLoanGenerator
4
- VERSION = '0.1.32'.freeze
4
+ VERSION = '0.1.37'.freeze
5
5
 
6
6
  class Version < Dry::CLI::Command
7
7
  desc 'Print version'
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.32
4
+ version: 0.1.37
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-24 00:00:00.000000000 Z
11
+ date: 2021-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport