mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
* Placeholder logic for missing prices * Generate holdings properly for "offline" securities * Separate forward and reverse calculators for holdings and balances * Remove unnecessary currency conversion during sync * Clearer sync process * Move price caching logic to dedicated model * Base holding calculator * Base calculator for balances * Finish balance calculators * Better naming * Logs cleanup * Remove stale data type * Remove stale test * Fix price lookup logic for holdings sync * Fix Plaid item sync regression * Remove temp logging * Calculate cash and holdings series * Add holdings, cash, and balance series dropdown for investments
20 lines
493 B
Ruby
20 lines
493 B
Ruby
module AutoSync
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
before_action :sync_family, if: :family_needs_auto_sync?
|
|
end
|
|
|
|
private
|
|
def sync_family
|
|
Current.family.update!(last_synced_at: Time.current)
|
|
Current.family.sync_later
|
|
end
|
|
|
|
def family_needs_auto_sync?
|
|
return false unless Current.family.present?
|
|
return false unless Current.family.accounts.active.any?
|
|
|
|
(Current.family.last_synced_at&.to_date || 1.day.ago) < Date.current
|
|
end
|
|
end
|