Module: OllamaAgent::EnvConfig
- Defined in:
- lib/ollama_agent/env_config.rb
Overview
Centralized ENV parsing with safe fallbacks; warns on malformed values when OLLAMA_AGENT_DEBUG=1. Set OLLAMA_AGENT_STRICT_ENV=1 to raise ConfigurationError on invalid numeric values (CI / operators).
Class Method Summary collapse
- .fetch_float(name, default, strict: strict_env?) ) ⇒ Object
- .fetch_int(name, default, strict: strict_env?) ) ⇒ Object
-
.strict_env? ⇒ Boolean
True when OLLAMA_AGENT_STRICT_ENV=1 (invalid numeric ENV raises ConfigurationError).
- .warn_invalid(name, raw, fallback) ⇒ Object
Class Method Details
.fetch_float(name, default, strict: strict_env?) ) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/ollama_agent/env_config.rb', line 32 def fetch_float(name, default, strict: strict_env?) v = ENV.fetch(name, nil) return default if v.nil? || v.to_s.strip.empty? Float(v) rescue ArgumentError, TypeError raise ConfigurationError, "ollama_agent: #{name}=#{v.inspect} is not a valid float" if strict warn_invalid(name, v, default) default end |
.fetch_int(name, default, strict: strict_env?) ) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ollama_agent/env_config.rb', line 20 def fetch_int(name, default, strict: strict_env?) v = ENV.fetch(name, nil) return default if v.nil? || v.to_s.strip.empty? Integer(v) rescue ArgumentError, TypeError raise ConfigurationError, "ollama_agent: #{name}=#{v.inspect} is not a valid integer" if strict warn_invalid(name, v, default) default end |
.strict_env? ⇒ Boolean
Returns true when OLLAMA_AGENT_STRICT_ENV=1 (invalid numeric ENV raises ConfigurationError).
10 11 12 |
# File 'lib/ollama_agent/env_config.rb', line 10 def strict_env? ENV["OLLAMA_AGENT_STRICT_ENV"] == "1" end |
.warn_invalid(name, raw, fallback) ⇒ Object
14 15 16 17 18 |
# File 'lib/ollama_agent/env_config.rb', line 14 def warn_invalid(name, raw, fallback) return unless ENV["OLLAMA_AGENT_DEBUG"] == "1" warn "ollama_agent: #{name}=#{raw.inspect} is invalid; using #{fallback}." end |