blend_spreadsheet_loan_generator 0.1.34 → 0.1.39

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: 8afe8c32a76a11a3afd5fd90cc9c5728116650fdb99c3d68cbc9a69c6016d671
4
- data.tar.gz: d727c22901f61615b4ef4cb592fe9f357dfbe1dfb65ca3fccb6a9b3ef1149b76
3
+ metadata.gz: d043810b8912e85bfe40bcfee3a276bc123abfd79347ab6673ee81e752fade55
4
+ data.tar.gz: d1eaab1e4233d002cb125bd57f2027e165e3f41585e41ec01550d302f73f89f2
5
5
  SHA512:
6
- metadata.gz: bd1c6e2922917ca77eb25f0bb316e9e693d1ecf8a6abddfbeb174c5facd778ad01979233af173bcaa822ee2f45805641738ebffd8657ef865645ddfc0aa2d139
7
- data.tar.gz: 89a27d018920a740a9813a016fdc12bc183a10deabd001bd029274cfb9c384d1728401093e6ff1aff51abcaf2c437ecdbd8169d56fa6fb77346a517b590756d5
6
+ metadata.gz: a86ad2ef28e743138548bc11ef58215557eeada70dbf373b38e34e9a64fdcaf1c301ef95fe4ff31dda5becdc384747799ce214151ed2ec964d00ca82608ff12f
7
+ data.tar.gz: 876b38428df482b091fc480dfae9a643e9a8c4b231f7ff60a3c488f7b3553fcf4e152ac3d9e45aa16ec1ae8213d7edc3276fc4c1c91e95276c1da2c7ebcc6cf2
@@ -163,8 +163,6 @@ module BlendSpreadsheetLoanGenerator
163
163
  term = line - 1
164
164
  if term <= loan.deferred_and_capitalized
165
165
  excel_float(0.0)
166
- elsif loan.deferred_and_capitalized > 0 && loan.deferred.present?
167
-
168
166
  else
169
167
  "=ARRONDI(#{period_calculated_fees(line)}; 2)"
170
168
  end
@@ -173,9 +171,15 @@ module BlendSpreadsheetLoanGenerator
173
171
  def period_calculated_fees_formula(line:)
174
172
  term = line - 1
175
173
  if loan.deferred_and_capitalized > 0 && term > loan.deferred_and_capitalized
176
- with_fees = "#{remaining_capital_start(line: line)} * (1 + #{period_rate(line: line)} + #{period_fees_rate(line: line)})^#{loan.deferred_and_capitalized} * (#{period_rate(line: line)} + #{period_fees_rate(line: line)})"
177
- without_fees = "#{remaining_capital_start(line: line)} * (1 + #{period_rate(line: line)})^#{loan.deferred_and_capitalized} * #{period_rate(line: line)}"
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)}"
178
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}"
181
+
182
+ "=#{current} - #{capitalized_fees_start(line)}"
179
183
  else
180
184
  amount_to_capitalize = [
181
185
  '(',
@@ -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
@@ -1,7 +1,7 @@
1
1
  require 'dry/cli'
2
2
 
3
3
  module BlendSpreadsheetLoanGenerator
4
- VERSION = '0.1.34'.freeze
4
+ VERSION = '0.1.39'.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.34
4
+ version: 0.1.39
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