Module: Ask::CodingProviders
- Defined in:
- lib/ask/coding_providers.rb,
lib/ask/coding_providers/acp.rb,
lib/ask/coding_providers/codex.rb,
lib/ask/coding_providers/zcode.rb,
lib/ask/coding_providers/claude.rb,
lib/ask/coding_providers/adapter.rb,
lib/ask/coding_providers/version.rb,
lib/ask/coding_providers/ask_agent.rb,
lib/ask/coding_providers/acp/adapter.rb,
lib/ask/coding_providers/codex/adapter.rb,
lib/ask/coding_providers/claude/adapter.rb,
lib/ask/coding_providers/codex/codex_db.rb,
lib/ask/coding_providers/zcode/zcode_db.rb,
lib/ask/coding_providers/ask_agent/adapter.rb,
lib/ask/coding_providers/codex/app_server_client.rb
Defined Under Namespace
Modules: ACP, AskAgent, Claude, Codex, ZCode Classes: Adapter, ConfigurationError, ConnectionError, Error, TimeoutError
Constant Summary collapse
- VERSION =
"0.3.2"
Class Method Summary collapse
-
.build_adapter(name, **config) ⇒ Object
Build an adapter instance by name, passing config options.
-
.register_adapter(name, klass) ⇒ Object
Register a coding adapter class under a name.
-
.resolve_adapter(name) ⇒ Object
Resolve an adapter class by name.
Class Method Details
.build_adapter(name, **config) ⇒ Object
Build an adapter instance by name, passing config options. Each adapter's .from_config class method decides how to use the config.
42 43 44 |
# File 'lib/ask/coding_providers.rb', line 42 def build_adapter(name, **config) resolve_adapter(name).from_config(**config) end |
.register_adapter(name, klass) ⇒ Object
Register a coding adapter class under a name. Called automatically by adapter files when loaded.
25 26 27 |
# File 'lib/ask/coding_providers.rb', line 25 def register_adapter(name, klass) @adapter_registry[name.to_s] = klass end |
.resolve_adapter(name) ⇒ Object
Resolve an adapter class by name.
31 32 33 34 35 36 37 38 |
# File 'lib/ask/coding_providers.rb', line 31 def resolve_adapter(name) @adapter_registry[name.to_s] || raise( ConfigurationError, "Unknown coding provider: #{name.inspect}. " \ "Available: #{@adapter_registry.keys.join(', ')}. " \ "Set CODING_PROVIDER in your environment." ) end |