Class: ReveAI::Configuration
- Inherits:
-
Object
- Object
- ReveAI::Configuration
- Defined in:
- lib/reve_ai/configuration.rb
Overview
Constant Summary collapse
- DEFAULT_BASE_URL =
Returns Default base URL for the Reve API.
"https://api.reve.com"- DEFAULT_TIMEOUT =
Returns Default request timeout in seconds (2 minutes for image generation).
120- DEFAULT_OPEN_TIMEOUT =
Returns Default connection open timeout in seconds.
30- DEFAULT_MAX_RETRIES =
Returns Default number of retry attempts for failed requests.
2- VALID_ASPECT_RATIOS =
Returns Valid aspect ratios for image generation.
%w[16:9 9:16 3:2 2:3 4:3 3:4 1:1].freeze
- MAX_PROMPT_LENGTH =
Returns Maximum allowed prompt length in characters.
2560- MAX_REFERENCE_IMAGES =
Returns Maximum number of reference images for remix operations.
6
Instance Attribute Summary collapse
-
#api_key ⇒ String?
Reve API key for authentication.
-
#base_url ⇒ String
Base URL for API requests (defaults to api.reve.com).
-
#debug ⇒ Boolean
Enable debug logging of HTTP requests/responses.
-
#logger ⇒ Logger?
Logger instance for debug output.
-
#max_retries ⇒ Integer
Number of retry attempts for transient failures.
-
#open_timeout ⇒ Integer
Connection open timeout in seconds.
-
#timeout ⇒ Integer
Request timeout in seconds.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
Creates a new configuration with default values.
-
#valid? ⇒ Boolean
Checks if the configuration has a valid API key.
Constructor Details
#initialize ⇒ Configuration
Creates a new configuration with default values.
Automatically loads API key from the REVE_AI_API_KEY environment variable if present.
76 77 78 79 80 81 82 83 84 |
# File 'lib/reve_ai/configuration.rb', line 76 def initialize @api_key = ENV.fetch("REVE_AI_API_KEY", nil) @base_url = DEFAULT_BASE_URL @timeout = DEFAULT_TIMEOUT @open_timeout = DEFAULT_OPEN_TIMEOUT @max_retries = DEFAULT_MAX_RETRIES @logger = nil @debug = false end |
Instance Attribute Details
#api_key ⇒ String?
Returns Reve API key for authentication.
47 48 49 |
# File 'lib/reve_ai/configuration.rb', line 47 def api_key @api_key end |
#base_url ⇒ String
Returns Base URL for API requests (defaults to api.reve.com).
50 51 52 |
# File 'lib/reve_ai/configuration.rb', line 50 def base_url @base_url end |
#debug ⇒ Boolean
Returns Enable debug logging of HTTP requests/responses.
65 66 67 |
# File 'lib/reve_ai/configuration.rb', line 65 def debug @debug end |
#logger ⇒ Logger?
Returns Logger instance for debug output.
62 63 64 |
# File 'lib/reve_ai/configuration.rb', line 62 def logger @logger end |
#max_retries ⇒ Integer
Returns Number of retry attempts for transient failures.
59 60 61 |
# File 'lib/reve_ai/configuration.rb', line 59 def max_retries @max_retries end |
#open_timeout ⇒ Integer
Returns Connection open timeout in seconds.
56 57 58 |
# File 'lib/reve_ai/configuration.rb', line 56 def open_timeout @open_timeout end |
#timeout ⇒ Integer
Returns Request timeout in seconds.
53 54 55 |
# File 'lib/reve_ai/configuration.rb', line 53 def timeout @timeout end |
Instance Method Details
#valid? ⇒ Boolean
Checks if the configuration has a valid API key.
96 97 98 |
# File 'lib/reve_ai/configuration.rb', line 96 def valid? !api_key.nil? && !api_key.empty? end |