Class: ReductoAI::Config
- Inherits:
-
Object
- Object
- ReductoAI::Config
- Defined in:
- lib/reducto_ai/config.rb
Overview
Configuration class for the ReductoAI client.
Manages API credentials, timeouts, logging, and exception handling behavior. Configuration can be set via environment variables or through the global configure method.
Instance Attribute Summary collapse
-
#api_key ⇒ String?
Reducto API key (from REDUCTO_API_KEY env var).
-
#base_url ⇒ String
Base URL for Reducto API (default: https://platform.reducto.ai).
-
#logger ⇒ Logger
Returns the logger instance.
-
#open_timeout ⇒ Integer
Connection open timeout in seconds (default: 5).
-
#raise_exceptions ⇒ Boolean
Whether to raise exceptions on API errors (default: true).
-
#read_timeout ⇒ Integer
Request read timeout in seconds (default: 30).
Instance Method Summary collapse
-
#initialize ⇒ Config
constructor
Creates a new configuration instance with defaults from environment variables.
Constructor Details
#initialize ⇒ Config
Creates a new configuration instance with defaults from environment variables.
48 49 50 51 52 53 54 |
# File 'lib/reducto_ai/config.rb', line 48 def initialize @api_key = ENV.fetch("REDUCTO_API_KEY", nil) @base_url = ENV.fetch("REDUCTO_BASE_URL", "https://platform.reducto.ai") @open_timeout = integer_or_default("REDUCTO_OPEN_TIMEOUT", 5) @read_timeout = integer_or_default("REDUCTO_READ_TIMEOUT", 30) @raise_exceptions = true end |
Instance Attribute Details
#api_key ⇒ String?
Returns Reducto API key (from REDUCTO_API_KEY env var).
30 31 32 |
# File 'lib/reducto_ai/config.rb', line 30 def api_key @api_key end |
#base_url ⇒ String
Returns Base URL for Reducto API (default: https://platform.reducto.ai).
33 34 35 |
# File 'lib/reducto_ai/config.rb', line 33 def base_url @base_url end |
#logger ⇒ Logger
Returns the logger instance.
Defaults to Rails.logger if Rails is available, otherwise a stderr Logger.
61 62 63 |
# File 'lib/reducto_ai/config.rb', line 61 def logger @logger ||= (defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger) || Logger.new($stderr) end |
#open_timeout ⇒ Integer
Returns Connection open timeout in seconds (default: 5).
36 37 38 |
# File 'lib/reducto_ai/config.rb', line 36 def open_timeout @open_timeout end |
#raise_exceptions ⇒ Boolean
Returns Whether to raise exceptions on API errors (default: true).
42 43 44 |
# File 'lib/reducto_ai/config.rb', line 42 def raise_exceptions @raise_exceptions end |
#read_timeout ⇒ Integer
Returns Request read timeout in seconds (default: 30).
39 40 41 |
# File 'lib/reducto_ai/config.rb', line 39 def read_timeout @read_timeout end |