mirror of
https://github.com/we-promise/sure.git
synced 2026-04-19 03:54:08 +00:00
Add support for provider selection (#346)
This commit is contained in:
@@ -3,7 +3,7 @@ module ExchangeRate::Provided
|
||||
|
||||
class_methods do
|
||||
def provider
|
||||
provider = ENV["EXCHANGE_RATE_PROVIDER"] || "twelve_data"
|
||||
provider = ENV["EXCHANGE_RATE_PROVIDER"].presence || Setting.exchange_rate_provider
|
||||
registry = Provider::Registry.for_concept(:exchange_rates)
|
||||
registry.get_provider(provider.to_sym)
|
||||
end
|
||||
|
||||
@@ -5,7 +5,7 @@ module Security::Provided
|
||||
|
||||
class_methods do
|
||||
def provider
|
||||
provider = ENV["SECURITIES_PROVIDER"] || "twelve_data"
|
||||
provider = ENV["SECURITIES_PROVIDER"].presence || Setting.securities_provider
|
||||
registry = Provider::Registry.for_concept(:securities)
|
||||
registry.get_provider(provider.to_sym)
|
||||
end
|
||||
|
||||
@@ -11,6 +11,10 @@ class Setting < RailsSettings::Base
|
||||
field :openai_model, type: :string, default: ENV["OPENAI_MODEL"]
|
||||
field :brand_fetch_client_id, type: :string, default: ENV["BRAND_FETCH_CLIENT_ID"]
|
||||
|
||||
# Provider selection
|
||||
field :exchange_rate_provider, type: :string, default: ENV.fetch("EXCHANGE_RATE_PROVIDER", "twelve_data")
|
||||
field :securities_provider, type: :string, default: ENV.fetch("SECURITIES_PROVIDER", "twelve_data")
|
||||
|
||||
# Dynamic fields are now stored as individual entries with "dynamic:" prefix
|
||||
# This prevents race conditions and ensures each field is independently managed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user