class Doughnut::RetirementCalculator
Attributes
current_net_worth[RW]
death_date[RW]
portfolio_return[RW]
Public Class Methods
new(net_worth = 207000)
click to toggle source
# File lib/doughnut/retirement_calculator/retirement_calculator.rb, line 8 def initialize(net_worth = 207000) @death_date = Date.new(2067,7,19) @current_net_worth = net_worth @portfolio_return = 0.1 end
Public Instance Methods
retirement_date(total_expenses, monthly_incomes)
click to toggle source
# File lib/doughnut/retirement_calculator/retirement_calculator.rb, line 14 def retirement_date(total_expenses, monthly_incomes) return Date.today if total_expenses == 0 return Date.today if total_expenses < @current_net_worth return @death_date if monthly_incomes.length == 0 monthly_incomes.insert( 0, {date: Date.today, income: @current_net_worth} ) running_income = 0 monthly_incomes.each do |h| running_income += h[:income] return h[:date] if running_income >= total_expenses end end