2024-06-20 07:26:25 -04:00
|
|
|
class Vehicle < ApplicationRecord
|
|
|
|
include Accountable
|
2024-08-23 09:33:42 -04:00
|
|
|
|
|
|
|
attribute :mileage_unit, :string, default: "mi"
|
|
|
|
|
|
|
|
def mileage
|
|
|
|
Measurement.new(mileage_value, mileage_unit) if mileage_value.present?
|
|
|
|
end
|
|
|
|
|
|
|
|
def purchase_price
|
|
|
|
first_valuation_amount
|
|
|
|
end
|
|
|
|
|
|
|
|
def trend
|
|
|
|
TimeSeries::Trend.new(current: account.balance_money, previous: first_valuation_amount)
|
|
|
|
end
|
|
|
|
|
2024-10-18 14:37:42 -04:00
|
|
|
def color
|
|
|
|
"#F23E94"
|
|
|
|
end
|
|
|
|
|
2024-11-04 20:27:31 -05:00
|
|
|
def icon
|
|
|
|
"car-front"
|
2024-10-18 18:25:17 -04:00
|
|
|
end
|
|
|
|
|
2024-08-23 09:33:42 -04:00
|
|
|
private
|
|
|
|
def first_valuation_amount
|
|
|
|
account.entries.account_valuations.order(:date).first&.amount_money || account.balance_money
|
|
|
|
end
|
2024-06-20 07:26:25 -04:00
|
|
|
end
|