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 legacy v1 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- ASPECT_RATIOS =
Returns Valid aspect ratios for image generation.
%w[4:1 3:1 21:9 2:1 17:9 16:9 3:2 4:3 5:4 1:1 4:5 3:4 2:3 9:16 1:2 1:3 1:4 auto].freeze
- V2_MAX_PROMPT_LENGTH =
Returns Maximum allowed prompt length in characters for v2 endpoints.
4000- V2_MAX_REFERENCES =
Returns Maximum number of references for v2 create operations.
8
Instance Attribute Summary collapse
-
#api_key ⇒ String?
Reve API key for authentication.
-
#base_url ⇒ String
Base URL for API requests (defaults to https://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.
85 86 87 88 89 90 91 92 93 |
# File 'lib/reve_ai/configuration.rb', line 85 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.
56 57 58 |
# File 'lib/reve_ai/configuration.rb', line 56 def api_key @api_key end |
#base_url ⇒ String
Returns Base URL for API requests (defaults to https://api.reve.com).
59 60 61 |
# File 'lib/reve_ai/configuration.rb', line 59 def base_url @base_url end |
#debug ⇒ Boolean
Returns Enable debug logging of HTTP requests/responses.
74 75 76 |
# File 'lib/reve_ai/configuration.rb', line 74 def debug @debug end |
#logger ⇒ Logger?
Returns Logger instance for debug output.
71 72 73 |
# File 'lib/reve_ai/configuration.rb', line 71 def logger @logger end |
#max_retries ⇒ Integer
Returns Number of retry attempts for transient failures.
68 69 70 |
# File 'lib/reve_ai/configuration.rb', line 68 def max_retries @max_retries end |
#open_timeout ⇒ Integer
Returns Connection open timeout in seconds.
65 66 67 |
# File 'lib/reve_ai/configuration.rb', line 65 def open_timeout @open_timeout end |
#timeout ⇒ Integer
Returns Request timeout in seconds.
62 63 64 |
# File 'lib/reve_ai/configuration.rb', line 62 def timeout @timeout end |
Instance Method Details
#valid? ⇒ Boolean
Checks if the configuration has a valid API key.
105 106 107 |
# File 'lib/reve_ai/configuration.rb', line 105 def valid? !api_key.nil? && !api_key.empty? end |