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.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/ruby_pi/configuration.rb', line 58 def initialize @gemini_api_key = nil @anthropic_api_key = nil @openai_api_key = nil @max_retries = 3 @retry_base_delay = 1.0 @retry_max_delay = 30.0 @request_timeout = 120 @open_timeout = 10 @default_gemini_model = "gemini-2.0-flash" @default_anthropic_model = "claude-sonnet-4-20250514" @default_openai_model = "gpt-4o" @logger = nil end |
Instance Attribute Details
#anthropic_api_key ⇒ String?
Returns API key for Anthropic Claude.
25 26 27 |
# File 'lib/ruby_pi/configuration.rb', line 25 def anthropic_api_key @anthropic_api_key end |
#default_anthropic_model ⇒ String
Returns Default model name for Anthropic provider.
49 50 51 |
# File 'lib/ruby_pi/configuration.rb', line 49 def default_anthropic_model @default_anthropic_model end |
#default_gemini_model ⇒ String
Returns Default model name for Gemini provider.
46 47 48 |
# File 'lib/ruby_pi/configuration.rb', line 46 def default_gemini_model @default_gemini_model end |
#default_openai_model ⇒ String
Returns Default model name for OpenAI provider.
52 53 54 |
# File 'lib/ruby_pi/configuration.rb', line 52 def default_openai_model @default_openai_model end |
#gemini_api_key ⇒ String?
Returns API key for Google Gemini.
22 23 24 |
# File 'lib/ruby_pi/configuration.rb', line 22 def gemini_api_key @gemini_api_key end |
#logger ⇒ Logger?
Returns Logger instance for debug output.
55 56 57 |
# File 'lib/ruby_pi/configuration.rb', line 55 def logger @logger end |
#max_retries ⇒ Integer
Returns Maximum number of retry attempts for transient errors (default: 3).
31 32 33 |
# File 'lib/ruby_pi/configuration.rb', line 31 def max_retries @max_retries end |
#open_timeout ⇒ Integer
Returns HTTP connection open timeout in seconds (default: 10).
43 44 45 |
# File 'lib/ruby_pi/configuration.rb', line 43 def open_timeout @open_timeout end |
#openai_api_key ⇒ String?
Returns API key for OpenAI.
28 29 30 |
# File 'lib/ruby_pi/configuration.rb', line 28 def openai_api_key @openai_api_key end |
#request_timeout ⇒ Integer
Returns HTTP request timeout in seconds (default: 120).
40 41 42 |
# File 'lib/ruby_pi/configuration.rb', line 40 def request_timeout @request_timeout end |
#retry_base_delay ⇒ Float
Returns Base delay in seconds for exponential backoff (default: 1.0).
34 35 36 |
# File 'lib/ruby_pi/configuration.rb', line 34 def retry_base_delay @retry_base_delay end |
#retry_max_delay ⇒ Float
Returns Maximum delay in seconds between retries (default: 30.0).
37 38 39 |
# File 'lib/ruby_pi/configuration.rb', line 37 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.
76 77 78 |
# File 'lib/ruby_pi/configuration.rb', line 76 def reset! initialize end |