mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-18 20:59:39 +02:00
* Ignore env.test from source control * Simplification of providers interface * Synth tests * Update money to use new find rates method * Remove unused issues code * Additional issue feature removals * Update price data fetching and tests * Update documentation for providers * Security test fixes * Fix self host test * Update synth usage data access * Remove AI pr schema changes
27 lines
611 B
Ruby
27 lines
611 B
Ruby
module Account::Convertible
|
|
extend ActiveSupport::Concern
|
|
|
|
def sync_required_exchange_rates
|
|
unless requires_exchange_rates?
|
|
Rails.logger.info("No exchange rate sync needed for account #{id}")
|
|
return
|
|
end
|
|
|
|
affected_row_count = ExchangeRate.sync_provider_rates(
|
|
from: currency,
|
|
to: target_currency,
|
|
start_date: start_date,
|
|
)
|
|
|
|
Rails.logger.info("Synced #{affected_row_count} exchange rates for account #{id}")
|
|
end
|
|
|
|
private
|
|
def target_currency
|
|
family.currency
|
|
end
|
|
|
|
def requires_exchange_rates?
|
|
currency != target_currency
|
|
end
|
|
end
|