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