.select("account_balances.date, SUM(CASE WHEN accounts.classification = 'asset' THEN account_balances.balance ELSE -account_balances.balance END) AS balance, 'USD' as currency")
.group("account_balances.date")
.order("account_balances.date ASC")
ifperiod&&period.date_range
query=query.where("account_balances.date BETWEEN ? AND ?",period.date_range.begin,period.date_range.end)
end
MoneySeries.new(
query,
{trend_type:"asset"}
)
end
defasset_series(period=nil)
query=accounts.joins(:balances)
.select("account_balances.date, SUM(account_balances.balance) AS balance, 'asset' AS classification, 'USD' AS currency")
.group("account_balances.date")
.order("account_balances.date ASC")
.where(classification:"asset")
ifperiod&&period.date_range
query=query.where("account_balances.date BETWEEN ? AND ?",period.date_range.begin,period.date_range.end)
end
MoneySeries.new(
query,
{trend_type:"asset"}
)
end
defliability_series(period=nil)
query=accounts.joins(:balances)
.select("account_balances.date, SUM(account_balances.balance) AS balance, 'liability' AS classification, 'USD' AS currency")
.group("account_balances.date")
.order("account_balances.date ASC")
.where(classification:"liability")
ifperiod&&period.date_range
query=query.where("account_balances.date BETWEEN ? AND ?",period.date_range.begin,period.date_range.end)