Module: Harnex::Adapters

Defined in:
lib/harnex/adapters.rb,
lib/harnex/adapters/base.rb,
lib/harnex/adapters/codex.rb,
lib/harnex/adapters/claude.rb,
lib/harnex/adapters/generic.rb

Defined Under Namespace

Classes: Base, Claude, Codex, Generic

Class Method Summary collapse

Class Method Details

.build(key, extra_args = []) ⇒ Object



18
19
20
21
22
23
# File 'lib/harnex/adapters.rb', line 18

def build(key, extra_args = [])
  adapter_class = registry[key.to_s]
  return adapter_class.new(extra_args) if adapter_class

  Generic.new(key.to_s, extra_args)
end

.knownObject



10
11
12
# File 'lib/harnex/adapters.rb', line 10

def known
  registry.keys.sort
end

.registryObject



25
26
27
28
29
30
# File 'lib/harnex/adapters.rb', line 25

def registry
  @registry ||= {
    "claude" => Claude,
    "codex" => Codex
  }
end

.supported?(key) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/harnex/adapters.rb', line 14

def supported?(key)
  !key.to_s.strip.empty?
end