1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-02 20:15:22 +02:00

Plaid sync tests and multi-currency investment support (#1531)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions

* Plaid sync tests and multi-currency investment support

* Fix system test

* Cleanup

* Remove data migration
This commit is contained in:
Zach Gollwitzer 2024-12-12 08:56:52 -05:00 committed by GitHub
parent b2a56aefc1
commit 800eb4c146
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 406 additions and 165 deletions

View file

@ -9,9 +9,6 @@ class Account::Holding < ApplicationRecord
validates :qty, :currency, presence: true
scope :chronological, -> { order(:date) }
scope :current, -> { where(date: Date.current).order(amount: :desc) }
scope :in_period, ->(period) { period.date_range.nil? ? all : where(date: period.date_range) }
scope :known_value, -> { where.not(amount: nil) }
scope :for, ->(security) { where(security_id: security).order(:date) }
delegate :ticker, to: :security
@ -29,7 +26,7 @@ class Account::Holding < ApplicationRecord
# Basic approximation of cost-basis
def avg_cost
avg_cost = account.holdings.for(security).where("date <= ?", date).average(:price)
avg_cost = account.holdings.for(security).where(currency: currency).where("date <= ?", date).average(:price)
Money.new(avg_cost, currency)
end