Class: Daytona::Config
- Inherits:
-
Object
- Object
- Daytona::Config
- Defined in:
- lib/daytona/config.rb
Constant Summary collapse
- API_URL =
'https://app.daytona.io/api'
Instance Attribute Summary collapse
-
#_experimental ⇒ Hash?
Experimental configuration options.
-
#api_key ⇒ String?
API key for authentication with the Daytona API.
-
#api_url ⇒ String?
URL of the Daytona API.
-
#jwt_token ⇒ String?
JWT token for authentication with the Daytona API.
-
#organization_id ⇒ String?
Organization ID for authentication with the Daytona API.
-
#target ⇒ String?
Target environment for sandboxes.
Instance Method Summary collapse
-
#initialize(api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil, _experimental: nil) ⇒ Config
constructor
Initializes a new Daytona::Config object.
-
#read_env(name) ⇒ String?
Reads a DAYTONA_-prefixed environment variable using the same precedence as the Config initializer: runtime ENV first, then .env.local, then .env.
Constructor Details
#initialize(api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil, _experimental: nil) ⇒ Config
Initializes a new Daytona::Config object.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/daytona/config.rb', line 50 def initialize( # rubocop:disable Metrics/ParameterLists api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil, _experimental: nil ) @env_reader = daytona_env_reader @api_key = api_key || @env_reader.call('DAYTONA_API_KEY') @jwt_token = jwt_token || @env_reader.call('DAYTONA_JWT_TOKEN') @api_url = api_url || @env_reader.call('DAYTONA_API_URL') || API_URL @target = target || @env_reader.call('DAYTONA_TARGET') @organization_id = organization_id || @env_reader.call('DAYTONA_ORGANIZATION_ID') @_experimental = _experimental end |
Instance Attribute Details
#_experimental ⇒ Hash?
Experimental configuration options
40 41 42 |
# File 'lib/daytona/config.rb', line 40 def _experimental @_experimental end |
#api_key ⇒ String?
API key for authentication with the Daytona API
15 16 17 |
# File 'lib/daytona/config.rb', line 15 def api_key @api_key end |
#api_url ⇒ String?
URL of the Daytona API
25 26 27 |
# File 'lib/daytona/config.rb', line 25 def api_url @api_url end |
#jwt_token ⇒ String?
JWT token for authentication with the Daytona API
20 21 22 |
# File 'lib/daytona/config.rb', line 20 def jwt_token @jwt_token end |
#organization_id ⇒ String?
Organization ID for authentication with the Daytona API
30 31 32 |
# File 'lib/daytona/config.rb', line 30 def organization_id @organization_id end |
#target ⇒ String?
Target environment for sandboxes
35 36 37 |
# File 'lib/daytona/config.rb', line 35 def target @target end |
Instance Method Details
#read_env(name) ⇒ String?
Reads a DAYTONA_-prefixed environment variable using the same precedence as the Config initializer: runtime ENV first, then .env.local, then .env. Only names starting with DAYTONA_ are accepted.
75 76 77 |
# File 'lib/daytona/config.rb', line 75 def read_env(name) @env_reader.call(name) end |