Module: Legion::Extensions::Llm::Fleet::Settings
- Defined in:
- lib/legion/extensions/llm/fleet/settings.rb
Overview
Reads fleet settings from Legion::Settings when available, falling back to lex-llm defaults.
Class Method Summary collapse
- .configured_llm_settings ⇒ Object
- .default_settings ⇒ Object
- .dig(hash, *keys) ⇒ Object
- .safe_fetch(source, key) ⇒ Object
- .value(*path, default:) ⇒ Object
Class Method Details
.configured_llm_settings ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/legion/extensions/llm/fleet/settings.rb', line 21 def configured_llm_settings return [] unless defined?(::Legion::Settings) && ::Legion::Settings.respond_to?(:[]) configured = [] extensions = safe_fetch(::Legion::Settings, :extensions) extension_llm = dig(extensions, :llm) configured << extension_llm if extension_llm.respond_to?(:key?) llm = safe_fetch(::Legion::Settings, :llm) configured << llm if llm.respond_to?(:key?) configured rescue StandardError [] end |
.default_settings ⇒ Object
56 57 58 59 60 61 |
# File 'lib/legion/extensions/llm/fleet/settings.rb', line 56 def default_settings return ::Legion::Extensions::Llm.default_settings if ::Legion::Extensions::Llm.respond_to?(:default_settings) {} end |
.dig(hash, *keys) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/legion/extensions/llm/fleet/settings.rb', line 36 def dig(hash, *keys) keys.reduce(hash) do |current, key| break nil unless current.respond_to?(:key?) symbol_key = key.respond_to?(:to_sym) ? key.to_sym : key string_key = key.to_s if current.key?(symbol_key) current[symbol_key] elsif current.key?(string_key) current[string_key] end end end |
.safe_fetch(source, key) ⇒ Object
50 51 52 53 54 |
# File 'lib/legion/extensions/llm/fleet/settings.rb', line 50 def safe_fetch(source, key) source[key] || source[key.to_s] rescue StandardError nil end |
.value(*path, default:) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/legion/extensions/llm/fleet/settings.rb', line 11 def value(*path, default:) configured_llm_settings.each do |configured| found = dig(configured, *path) return found unless found.nil? end fallback = dig(default_settings, *path) fallback.nil? ? default : fallback end |