Class: CleoQualityReview::LlmProviders::Registry
- Inherits:
-
Object
- Object
- CleoQualityReview::LlmProviders::Registry
- Defined in:
- lib/cleo_quality_review/llm_providers/registry.rb
Overview
Registry for available LLM provider implementations.
Class Method Summary collapse
-
.fetch(name) ⇒ Object
Resolve a provider name to a provider instance.
-
.register(name, provider_class) ⇒ nil
Register an LLM provider implementation.
-
.registered ⇒ Array<String>
Registered provider names.
- .registered?(name) ⇒ Boolean
Class Method Details
.fetch(name) ⇒ Object
Resolve a provider name to a provider instance.
26 27 28 29 30 |
# File 'lib/cleo_quality_review/llm_providers/registry.rb', line 26 def fetch(name) providers.fetch(provider_name(name)).new rescue KeyError raise UnsupportedLlmProviderError, (name) end |
.register(name, provider_class) ⇒ nil
Register an LLM provider implementation.
16 17 18 19 |
# File 'lib/cleo_quality_review/llm_providers/registry.rb', line 16 def register(name, provider_class) providers[provider_name(name)] = provider_class nil end |
.registered ⇒ Array<String>
Returns registered provider names.
34 35 36 |
# File 'lib/cleo_quality_review/llm_providers/registry.rb', line 34 def registered providers.keys.sort end |
.registered?(name) ⇒ Boolean
41 42 43 |
# File 'lib/cleo_quality_review/llm_providers/registry.rb', line 41 def registered?(name) providers.key?(provider_name(name)) end |