mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-18 20:59:39 +02:00
32 lines
857 B
Ruby
32 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
|