blend_spreadsheet_loan_generator 0.1.100 → 0.1.104

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: '094d6041671fe31e1d4065b08a380527d0c823a14921d1e240fe27668de71062'
4
- data.tar.gz: 445f25c29e92de5b36dcd6a687f4a94fbfe0a2d30705dd623fb1f03315f3991a
3
+ metadata.gz: f3b33869e16c21139b0b1a8cbe50780acbb3eb84fc1c83493f9cf0fa0744d60e
4
+ data.tar.gz: b93a53cded0a95d38b16937ad69b3d37b32bda8345dedbcacc7449723b0df5d7
5
5
  SHA512:
6
- metadata.gz: 12f8be613825bbf69472ea9332e72d77ef85d4cf53072f1734ac3be632b0ddcfa2d7a3b9f53e7cb6dc2fb719de90a364e7c76dee05995215753233f7d10f5d9c
7
- data.tar.gz: 9c0735c99dcf516f92b9458dedd69e42e2c303df500dfaf809d0164cc35054f26dd34e9c48d2f6ba558aeb12e1a702253e2f3e6aacdc74456f23afac837ef577
6
+ metadata.gz: 95a633cd848b3cb9006ff4d8685895ba76845b3074c9b2320db14d2b54fcc5f5d51658b449bda65a2340431742c3fbc481a6974f02afa5f31217bbea85eb8388
7
+ data.tar.gz: c37ccf9331d18143f8b67f65d9ca1a30dff07ca28cbcca944f84630bade18ac2b46783150183f6a8da907e5b2f5fe5b51ce22404c6e799f7123078dd789463db
@@ -100,7 +100,7 @@ module BlendSpreadsheetLoanGenerator
100
100
  end
101
101
  loan.duration.times do |line|
102
102
  columns.each.with_index do |title, column|
103
- if first_term_skip && title.in?(custom_early_repayment)
103
+ if first_term_skip && title.in?(first_term_skip_columns)
104
104
  worksheet[line + 2, column + 1] = @formula.send("#{title}_formula", line: line + 2, first_term_skip: true)
105
105
  else
106
106
  worksheet[line + 2, column + 1] = @formula.send("#{title}_formula", line: line + 2)
@@ -170,6 +170,7 @@ module BlendSpreadsheetLoanGenerator
170
170
 
171
171
  def period_calculated_fees_formula(line:, first_term_skip: false)
172
172
  term = line - 1
173
+ return excel_float(0.0) if first_term_skip && term == 1
173
174
  if loan.bullet_term?(term)
174
175
  index = first_term_skip ? index(line - 1) : index(line)
175
176
 
@@ -206,6 +207,7 @@ module BlendSpreadsheetLoanGenerator
206
207
 
207
208
  def capitalized_fees_end_formula(line:, first_term_skip: false)
208
209
  term = line - 1
210
+ return excel_float(0.0) if first_term_skip && term == 1
209
211
  if term <= loan.deferred_and_capitalized
210
212
  index = first_term_skip ? index(line - 1) : index(line)
211
213
  with_fees = "#{remaining_capital_start(line)} * (1 + #{period_fees_rate(line)} + #{period_rate(line)})^#{index}"
@@ -72,9 +72,9 @@ module BlendSpreadsheetLoanGenerator
72
72
  spreadsheet = session.create_spreadsheet(loan.name)
73
73
  worksheet = spreadsheet.add_worksheet(loan.type, loan.duration + 2, columns.count + 1, index: 0)
74
74
 
75
- @formula = Formula.new(loan: loan, first_term_skip: true)
75
+ @formula = Formula.new(loan: loan)
76
76
 
77
- apply_formulas(worksheet: worksheet)
77
+ apply_formulas(worksheet: worksheet, first_term_skip: true)
78
78
  apply_formats(worksheet: worksheet)
79
79
 
80
80
  worksheet.save
@@ -1,7 +1,7 @@
1
1
  require 'dry/cli'
2
2
 
3
3
  module BlendSpreadsheetLoanGenerator
4
- VERSION = '0.1.100'.freeze
4
+ VERSION = '0.1.104'.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.100
4
+ version: 0.1.104
5
5
  platform: ruby
6
6
  authors:
7
7
  - MZiserman