lib/financial_maths.rb in financial_maths-0.0.11 vs lib/financial_maths.rb in financial_maths-0.0.12

- old
+ new

@@ -5,17 +5,15 @@ def due_variable_payment_amortization(periods, amount, rate, payment) result = [] result << {:period=> 0, :monthly_payment => nil, :interest => nil, :payment => nil, :balance => amount} for i in 1..periods + interest = amount * rate + month_payment = payment + interest if i == periods - interest = month_payment * rate - month_payment = payment + interest - amount -= payment + amount -= amount else - interest = amount * rate - month_payment = payment + interest amount -= payment end result << {:period=> i, :payment => month_payment, :interest => interest, @@ -28,20 +26,19 @@ def anticipated_variable_payment_amortization(periods, amount, rate, payment) result = [] #result << {:period=> 0, :monthly_payment => nil, :interest => nil, :payment => nil, :balance => amount} for i in 0..periods-1 + interest = amount * rate + month_payment = payment + interest if i == periods - interest = month_payment * rate - month_payment = payment + interest - amount -= payment + amount -= amount else - interest = amount * rate - month_payment = payment + interest amount -= payment end + #date += 1 result << {:period=> i, :payment => month_payment, :interest => interest, :monthly_payment => payment, :balance => amount} @@ -53,19 +50,18 @@ def due_fixed_payment_amortization(periods, amount, rate, payment) result = [] result << {:period=> 0, :monthly_payment => nil, :interest => nil, :payment => nil, :balance => amount} for i in 1..periods + interest = amount * rate + month_payment = payment - interest if i == periods - interest = month_payment * rate - month_payment = payment - interest - amount -= payment + amount -= amount else - interest = amount * rate - month_payment = payment - interest - amount -= payment + amount -= month_payment end - + + #date += 1 result << {:period=> i, :payment => payment, :interest => interest, :monthly_payment => month_payment, :balance => amount}