mirror of
https://github.com/we-promise/sure.git
synced 2026-04-17 11:04:14 +00:00
Improve handling of cost_basis during holding materialization and display (#619)
- Refactored `persist_holdings` to separate and conditionally upsert holdings with and without cost_basis. - Updated `avg_cost` logic to treat 0 cost_basis as unknown and return nil when cost_basis cannot be determined. - Modified trend and investment calculation to exclude holdings with unknown cost_basis. - Adjusted `average_cost` formatting to handle nil values in API responses and views. - Added comprehensive tests to ensure cost_basis preservation and fallback behavior. - Localized `unknown` label for display when cost_basis is unavailable. Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
This commit is contained in:
@@ -105,8 +105,8 @@ class Assistant::Function::GetHoldings < Assistant::Function
|
||||
amount: holding.amount.to_f,
|
||||
formatted_amount: holding.amount_money.format,
|
||||
weight: holding.weight&.round(2),
|
||||
average_cost: holding.avg_cost.to_f,
|
||||
formatted_average_cost: holding.avg_cost.format,
|
||||
average_cost: holding.avg_cost&.to_f,
|
||||
formatted_average_cost: holding.avg_cost&.format,
|
||||
account: holding.account.name,
|
||||
date: holding.date
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user