Class: ActiveGenie::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/active_genie/configuration.rb

Instance Method Summary collapse

Constructor Details

#initialize(initial_config = nil) ⇒ Configuration

Returns a new instance of Configuration.



12
13
14
# File 'lib/active_genie/configuration.rb', line 12

def initialize(initial_config = nil)
  @initial_config = initial_config || {}
end

Instance Method Details

#extractorObject



34
35
36
# File 'lib/active_genie/configuration.rb', line 34

def extractor
  @extractor ||= Config::ExtractorConfig.new(**@initial_config.fetch(:extractor, {}))
end

#listerObject



38
39
40
# File 'lib/active_genie/configuration.rb', line 38

def lister
  @lister ||= Config::ListerConfig.new(**@initial_config.fetch(:lister, {}))
end

#llmObject



20
21
22
# File 'lib/active_genie/configuration.rb', line 20

def llm
  @llm ||= Config::LlmConfig.new(**@initial_config.fetch(:llm, {}))
end

#logObject



24
25
26
# File 'lib/active_genie/configuration.rb', line 24

def log
  @log ||= Config::LogConfig.new(**@initial_config.fetch(:log, {}))
end

#providersObject



16
17
18
# File 'lib/active_genie/configuration.rb', line 16

def providers
  @providers ||= Config::ProvidersConfig.new(**@initial_config.fetch(:providers, {}))
end

#rankerObject

Modules



30
31
32
# File 'lib/active_genie/configuration.rb', line 30

def ranker
  @ranker ||= Config::RankerConfig.new(**@initial_config.fetch(:ranker, {}))
end

#to_hObject



42
43
44
45
46
47
48
49
50
51
# File 'lib/active_genie/configuration.rb', line 42

def to_h
  {
    providers: providers.to_h,
    llm: llm.to_h,
    log: log.to_h,
    ranker: ranker.to_h,
    extractor: extractor.to_h,
    lister: lister.to_h
  }
end