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
31 lines
857 B
Ruby
31 lines
857 B
Ruby
module Security::Provideable
|
|
extend ActiveSupport::Concern
|
|
|
|
Search = Data.define(:securities)
|
|
PriceData = Data.define(:price)
|
|
PricesData = Data.define(:prices)
|
|
SecurityInfo = Data.define(
|
|
:ticker,
|
|
:name,
|
|
:links,
|
|
:logo_url,
|
|
:description,
|
|
:kind,
|
|
)
|
|
|
|
def search_securities(symbol, country_code: nil, exchange_operating_mic: nil)
|
|
raise NotImplementedError, "Subclasses must implement #search_securities"
|
|
end
|
|
|
|
def fetch_security_info(security)
|
|
raise NotImplementedError, "Subclasses must implement #fetch_security_info"
|
|
end
|
|
|
|
def fetch_security_price(security, date:)
|
|
raise NotImplementedError, "Subclasses must implement #fetch_security_price"
|
|
end
|
|
|
|
def fetch_security_prices(security, start_date:, end_date:)
|
|
raise NotImplementedError, "Subclasses must implement #fetch_security_prices"
|
|
end
|
|
end
|