Class: RubyPi::Configuration
- Inherits:
-
Object
- Object
- RubyPi::Configuration
- Defined in:
- lib/ruby_pi/configuration.rb
Overview
Holds all configurable settings for the RubyPi framework.
Instance Attribute Summary collapse
-
#anthropic_api_key ⇒ String?
API key for Anthropic Claude.
-
#default_anthropic_model ⇒ String
Default model name for Anthropic provider.
-
#default_gemini_model ⇒ String
Default model name for Gemini provider.
-
#default_openai_model ⇒ String
Default model name for OpenAI provider.
-
#gemini_api_key ⇒ String?
API key for Google Gemini.
-
#logger ⇒ Logger?
Logger instance for debug output.
-
#max_retries ⇒ Integer
Maximum number of retry attempts for transient errors (default: 3).
-
#open_timeout ⇒ Integer
HTTP connection open timeout in seconds (default: 10).
-
#openai_api_key ⇒ String?
API key for OpenAI.
-
#request_timeout ⇒ Integer
HTTP request timeout in seconds (default: 120).
-
#retry_base_delay ⇒ Float
Base delay in seconds for exponential backoff (default: 1.0).
-
#retry_max_delay ⇒ Float
Maximum delay in seconds between retries (default: 30.0).
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
Initializes a new Configuration with sensible defaults.
-
#reset! ⇒ void
Resets all configuration options to their default values.
Constructor Details
#initialize ⇒ Configuration
Initializes a new Configuration with sensible defaults.
67 68 69 |
# File 'lib/ruby_pi/configuration.rb', line 67 def initialize set_defaults end |
Instance Attribute Details
#anthropic_api_key ⇒ String?
Returns API key for Anthropic Claude.
34 35 36 |
# File 'lib/ruby_pi/configuration.rb', line 34 def anthropic_api_key @anthropic_api_key end |
#default_anthropic_model ⇒ String
Returns Default model name for Anthropic provider.
58 59 60 |
# File 'lib/ruby_pi/configuration.rb', line 58 def default_anthropic_model @default_anthropic_model end |
#default_gemini_model ⇒ String
Returns Default model name for Gemini provider.
55 56 57 |
# File 'lib/ruby_pi/configuration.rb', line 55 def default_gemini_model @default_gemini_model end |
#default_openai_model ⇒ String
Returns Default model name for OpenAI provider.
61 62 63 |
# File 'lib/ruby_pi/configuration.rb', line 61 def default_openai_model @default_openai_model end |
#gemini_api_key ⇒ String?
Returns API key for Google Gemini.
31 32 33 |
# File 'lib/ruby_pi/configuration.rb', line 31 def gemini_api_key @gemini_api_key end |
#logger ⇒ Logger?
Returns Logger instance for debug output.
64 65 66 |
# File 'lib/ruby_pi/configuration.rb', line 64 def logger @logger end |
#max_retries ⇒ Integer
Returns Maximum number of retry attempts for transient errors (default: 3).
40 41 42 |
# File 'lib/ruby_pi/configuration.rb', line 40 def max_retries @max_retries end |
#open_timeout ⇒ Integer
Returns HTTP connection open timeout in seconds (default: 10).
52 53 54 |
# File 'lib/ruby_pi/configuration.rb', line 52 def open_timeout @open_timeout end |
#openai_api_key ⇒ String?
Returns API key for OpenAI.
37 38 39 |
# File 'lib/ruby_pi/configuration.rb', line 37 def openai_api_key @openai_api_key end |
#request_timeout ⇒ Integer
Returns HTTP request timeout in seconds (default: 120).
49 50 51 |
# File 'lib/ruby_pi/configuration.rb', line 49 def request_timeout @request_timeout end |
#retry_base_delay ⇒ Float
Returns Base delay in seconds for exponential backoff (default: 1.0).
43 44 45 |
# File 'lib/ruby_pi/configuration.rb', line 43 def retry_base_delay @retry_base_delay end |
#retry_max_delay ⇒ Float
Returns Maximum delay in seconds between retries (default: 30.0).
46 47 48 |
# File 'lib/ruby_pi/configuration.rb', line 46 def retry_max_delay @retry_max_delay end |
Instance Method Details
#reset! ⇒ void
This method returns an undefined value.
Resets all configuration options to their default values. Uses the shared set_defaults method to avoid calling initialize directly.
75 76 77 |
# File 'lib/ruby_pi/configuration.rb', line 75 def reset! set_defaults end |