Class: Ace::LLM::Molecules::ConfigLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/llm/molecules/config_loader.rb

Overview

Config loader for ace-llm using Ace::Support::Config cascade

Class Method Summary collapse

Class Method Details

.gem_rootObject

Find gem root directory From lib/ace/llm/molecules/config_loader.rb, go 4 levels up to ace-llm/



32
33
34
# File 'lib/ace/llm/molecules/config_loader.rb', line 32

def gem_root
  @gem_root ||= File.expand_path("../../../..", __dir__)
end

.get(path) ⇒ Object

Get configuration value by path

Parameters:

  • path (String)

    Dot-separated path like “llm.timeout”

Returns:

  • (Object)

    Value at path or nil



24
25
26
27
28
# File 'lib/ace/llm/molecules/config_loader.rb', line 24

def get(path)
  config = load
  keys = path.split(".")
  config.get(*keys)
end

.loadObject

Load configuration from cascade (project → home → gem) Uses resolve_namespace(“llm”) to load from llm/ subfolder



13
14
15
16
17
18
19
# File 'lib/ace/llm/molecules/config_loader.rb', line 13

def load
  Ace::Support::Config.create(
    config_dir: ".ace",
    defaults_dir: ".ace-defaults",
    gem_path: gem_root
  ).resolve_namespace("llm")
end