blend_spreadsheet_loan_generator 0.1.28 → 0.1.32

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: bf94149d6402855a08bf289dbbe244a061ff53b2b9c985ec6ad986990c80bc07
4
- data.tar.gz: e4b12c44ab4f2cfaa75214532bcb172cc753be7e1e8971e68314e133b2ec5748
3
+ metadata.gz: b0c908a47e7cfd11f049bbcf71442c828536f4c29e1b92fed35fb2e496c7a039
4
+ data.tar.gz: bcb3723e79bd901866231af08940d11a01e790e9c1303b240f981748c4a770bc
5
5
  SHA512:
6
- metadata.gz: d029eec619738f060c7d202960b2ef0531fea597e6d4687658e5bf23f0f5bcd84482783b880b16b418103b3c20da5b7b5a78057809621dd29441d685c134dc1c
7
- data.tar.gz: 7b92eadb27db35a729117b2b3b89d72217e4281d72606e78a8c44cd715c772da0a2d42a2a3783a5949dd329336b8ca59450696270f707b67b7be4bfdb2f6d8d1
6
+ metadata.gz: 9b2ce78a943c5265d0ff1fc5f086b0b5d4ddd189589b492f428a9fdc3df01f4d0ea14394befe2f4388afc19d9caac0a1fb3fcd6eecc7c16e1321af7f0924c412
7
+ data.tar.gz: 923d79bab361d9eac36d94dc6f0738a580c36cfa69b3b2898986b50f49e7d22dcb83c7eb8b83aa0a92d6699ca97a2f59b543eb07a58e1245e09bbe2386298d96
@@ -27,24 +27,3 @@ module BlendSpreadsheetLoanGenerator
27
27
  end
28
28
  end
29
29
  end
30
-
31
-
32
- def generate_csv(data:, name:)
33
- CSV.open(name, 'wb') do |csv|
34
- data.each do |datum|
35
- row = []
36
- datum.each.with_index do |value, index|
37
- row << (
38
- if index == 0
39
- value.to_i
40
- elsif index == 1
41
- Date.parse(value).strftime('%m/%d/%Y')
42
- else
43
- value.gsub(',', '.').to_f
44
- end
45
- )
46
- end
47
- csv << row
48
- end
49
- end
50
- end
@@ -89,8 +89,13 @@ module BlendSpreadsheetLoanGenerator
89
89
  values[last_paid_line + 1][:capitalized_fees_start] +
90
90
  values[last_paid_line + 1][:period_calculated_fees]
91
91
  )
92
+ remaining_capital_for_ratio = (
93
+ values[last_paid_line + 1][:remaining_capital_start] +
94
+ values[last_paid_line + 1][:capitalized_interests_start] +
95
+ values[last_paid_line + 1][:period_calculated_interests]
96
+ )
92
97
 
93
- ratio = options.fetch(:ratio, (capital_paid_for_ratio.to_f / values[last_paid_line + 1][:remaining_capital_start])).to_f
98
+ ratio = options.fetch(:ratio, capital_paid_for_ratio.to_f / remaining_capital_for_ratio).to_f
94
99
  guaranteed_interests_paid = ratio * total_guaranteed_interests
95
100
  guaranteed_fees_paid = ratio * total_guaranteed_fees
96
101
 
@@ -191,7 +191,9 @@ module BlendSpreadsheetLoanGenerator
191
191
  def capitalized_fees_end_formula(line:)
192
192
  term = line - 1
193
193
  if term <= loan.deferred_and_capitalized
194
- "=ARRONDI(#{capitalized_fees_start(line)} + #{period_calculated_fees(line)}; 2)"
194
+ with_fees = "#{remaining_capital_start(line)} * (1 + #{period_fees_rate(line)} + #{period_rate(line)})^#{index(line)}"
195
+ without_fees = "#{remaining_capital_start(line)} * (1 + #{period_rate(line)})^#{index(line)}"
196
+ "=ARRONDI(#{with_fees} - #{without_fees}; 2)"
195
197
  else
196
198
  "=ARRONDI(#{capitalized_fees_start(line)} - #{period_reimbursed_capitalized_fees(line)}; 2)"
197
199
  end
@@ -1,7 +1,7 @@
1
1
  require 'dry/cli'
2
2
 
3
3
  module BlendSpreadsheetLoanGenerator
4
- VERSION = '0.1.28'.freeze
4
+ VERSION = '0.1.32'.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.28
4
+ version: 0.1.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - MZiserman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-30 00:00:00.000000000 Z
11
+ date: 2021-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport