module Formulas::StudentLoanRepayment
Provide calculation to work out student loan repayment in frequency loan = StudentLoan.new(salary_amount: 1000, salary_frequency: Income::Salary::WEEKLY)
loan.repayment
> <#ConstantPerPeriod>¶ ↑
loan.repayment
> 317¶ ↑
Attributes
repayment[R]
Public Class Methods
new(income_strategy: , repayment_strategy:, rates:)
click to toggle source
# File lib/formulas/student_loan_repayment.rb, line 23 def initialize(income_strategy: , repayment_strategy:, rates:) raise 'Missing required salary' unless income_strategy raise 'Missing required repayment rates' unless rates raise 'Missing required repayment strategy' unless repayment_strategy @repayment = repayment_strategy.new(salary: income_strategy, repayment: rates) end