blend_spreadsheet_loan_generator 0.1.30 → 0.1.34

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: c65bb8dcbc3561cd3fa134d4eac3153934937c0de336afd2f41054a87e87a1e0
4
- data.tar.gz: d90db3f308d1b6580f70d3c898e9ff38c0dc2fdbb59cd5c688b08a12169b232d
3
+ metadata.gz: 8afe8c32a76a11a3afd5fd90cc9c5728116650fdb99c3d68cbc9a69c6016d671
4
+ data.tar.gz: d727c22901f61615b4ef4cb592fe9f357dfbe1dfb65ca3fccb6a9b3ef1149b76
5
5
  SHA512:
6
- metadata.gz: 531b9805eb3433e1835010a33fda24014e7071b5a21692bf8e66c78aeebe6cd45a1d05048158d97ccb484c2e9b3b76315034aad73efd7923b6b511a5e695331d
7
- data.tar.gz: 0c2e0a0d93fff9c3620abbf6cea28750f7375e1fb4becc799447e481ec655b02c94ca07907712aef2aed350bd5a798b03ffc22ce85a7f3d184294de0336ebaf8
6
+ metadata.gz: bd1c6e2922917ca77eb25f0bb316e9e693d1ecf8a6abddfbeb174c5facd778ad01979233af173bcaa822ee2f45805641738ebffd8657ef865645ddfc0aa2d139
7
+ data.tar.gz: 89a27d018920a740a9813a016fdc12bc183a10deabd001bd029274cfb9c384d1728401093e6ff1aff51abcaf2c437ecdbd8169d56fa6fb77346a517b590756d5
@@ -163,23 +163,30 @@ 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
+
166
168
  else
167
169
  "=ARRONDI(#{period_calculated_fees(line)}; 2)"
168
170
  end
169
171
  end
170
172
 
171
173
  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(' ')
181
-
182
- "=#{amount_to_capitalize} * #{period_fees_rate(line)}"
174
+ term = line - 1
175
+ 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)}"
178
+ "=#{with_fees} - #{without_fees}"
179
+ else
180
+ amount_to_capitalize = [
181
+ '(',
182
+ remaining_capital_start(line),
183
+ '+',
184
+ capitalized_interests_start(line),
185
+ ')'
186
+ ].join(' ')
187
+
188
+ "=#{amount_to_capitalize} * #{period_fees_rate(line)}"
189
+ end
183
190
  end
184
191
 
185
192
  def capitalized_fees_start_formula(line:)
@@ -191,9 +198,9 @@ module BlendSpreadsheetLoanGenerator
191
198
  def capitalized_fees_end_formula(line:)
192
199
  term = line - 1
193
200
  if term <= loan.deferred_and_capitalized
194
- with_fees = "#{remaining_capital_start_formula(line)} * (1 + #{period_fees_rate(line)} + #{period_rate(line)})^#{index(line)}"
195
- without_fees = "#{remaining_capital_start_formula(line)} * (1 + #{period_rate(line)})^#{index(line)}"
196
- "=ARRONDI(#{with_fees} - #{without_fees})"
201
+ with_fees = "#{remaining_capital_start(line)} * (1 + #{period_fees_rate(line)} + #{period_rate(line)})^#{index(line)}"
202
+ without_fees = "#{remaining_capital_start(line)} * (1 + #{period_rate(line)})^#{index(line)}"
203
+ "=ARRONDI(#{with_fees} - #{without_fees}; 2)"
197
204
  else
198
205
  "=ARRONDI(#{capitalized_fees_start(line)} - #{period_reimbursed_capitalized_fees(line)}; 2)"
199
206
  end
@@ -1,7 +1,7 @@
1
1
  require 'dry/cli'
2
2
 
3
3
  module BlendSpreadsheetLoanGenerator
4
- VERSION = '0.1.30'.freeze
4
+ VERSION = '0.1.34'.freeze
5
5
 
6
6
  class Version < Dry::CLI::Command
7
7
  desc 'Print version'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blend_spreadsheet_loan_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.30
4
+ version: 0.1.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - MZiserman