Class: LangExtract::Providers::Router

Inherits:
Object
  • Object
show all
Defined in:
lib/langextract/providers/router.rb

Instance Method Summary collapse

Constructor Details

#initializeRouter

Returns a new instance of Router.



8
9
10
# File 'lib/langextract/providers/router.rb', line 8

def initialize
  @providers = {}
end

Instance Method Details

#create(config) ⇒ Object



22
23
24
# File 'lib/langextract/providers/router.rb', line 22

def create(config)
  fetch(config.adapter).new(config)
end

#fetch(name) ⇒ Object



16
17
18
19
20
# File 'lib/langextract/providers/router.rb', line 16

def fetch(name)
  providers.fetch(name.to_s) do
    raise Core::InvalidModelConfigError, "unknown provider adapter: #{name}"
  end
end

#namesObject



26
27
28
# File 'lib/langextract/providers/router.rb', line 26

def names
  providers.keys.sort
end

#register(name, provider_class) ⇒ Object



12
13
14
# File 'lib/langextract/providers/router.rb', line 12

def register(name, provider_class)
  providers[name.to_s] = provider_class
end