class RealEstateFinance::BreakEvenRatio
Attributes
accounting[R]
advertising[R]
estimated_loss_percentage[R]
interest_rate[R]
legal[R]
loan_principle[R]
maintenance[R]
management[R]
marketing[R]
monthly_income[R]
repairs[R]
utilities[R]
Public Class Methods
new(interest_rate, loan_principle, marketing, advertising, management, legal, accounting, utilities, repairs, maintenance, monthly_income, estimated_loss_percentage)
click to toggle source
# File lib/real_estate_finance/break_even_ratio.rb, line 6 def initialize(interest_rate, loan_principle, marketing, advertising, management, legal, accounting, utilities, repairs, maintenance, monthly_income, estimated_loss_percentage) @interest_rate = interest_rate @loan_principle = loan_principle @marketing = marketing @advertising = advertising @management = management @legal = legal @accounting = accounting @utilities = utilities @repairs = repairs @maintenance = maintenance @monthly_income = monthly_income @estimated_loss_percentage = estimated_loss_percentage end
Public Instance Methods
break_even_ratio()
click to toggle source
# File lib/real_estate_finance/break_even_ratio.rb, line 21 def break_even_ratio interest_rate_formatted = sprintf("%0.02f", @interest_rate / (100)).to_f interest_dollar_amount = sprintf("%0.02f", (interest_rate_formatted * @loan_principle) + @loan_principle).to_f credit_losses = [@marketing, @advertising, @management, @legal, @accounting, @utilities, @repairs, @maintenance] operating_expenses = credit_losses.reduce(:+) total_expenses = sprintf("%0.02f", (interest_dollar_amount + operating_expenses)).to_f agi = sprintf("%0.02f", (@monthly_income * 12)).to_f loss_percentage = sprintf("%0.02f", @estimated_loss_percentage.to_i / (100.to_f)).to_f goi = sprintf("%0.02f", (agi * loss_percentage)).to_f ber = sprintf("%0.02f", (total_expenses / (goi))).to_f end