class Depreciate::Depreciate
Attributes
acquisition_date[RW]
cost[RW]
lifetime[RW]
residual_value[RW]
unit[RW]
Public Class Methods
new(acquisition_date, cost, residual_value, lifetime, unit)
click to toggle source
# File lib/depreciate.rb, line 5 def initialize(acquisition_date, cost, residual_value, lifetime, unit) @acquisition_date = acquisition_date @cost = cost.to_f @residual_value = residual_value @lifetime = lifetime @unit = unit end
Public Instance Methods
straight_line_depreciation(evaluation_date = Time.now)
click to toggle source
# File lib/depreciate.rb, line 17 def straight_line_depreciation(evaluation_date = Time.now) value = cost - (evaluation_date - acquisition_date) * value_lost_per_second if value < @residual_value @residual_value end value end
value_lost_per_second()
click to toggle source
# File lib/depreciate.rb, line 13 def value_lost_per_second return (@cost - @residual_value) / @lifetime end