Class: AbacatePay::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/abacatepay/configuration.rb

Overview

Configuration class for the AbacatePay SDK

This class handles all configuration options for the SDK, including API credentials, environment settings, and other customizable options.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Initialize a new configuration with default values



26
27
28
29
30
# File 'lib/abacatepay/configuration.rb', line 26

def initialize
  @environment = :sandbox
  @timeout = 30
  @api_token = nil
end

Instance Attribute Details

#api_tokenString

Returns API token for authentication.

Returns:

  • (String)

    API token for authentication



12
13
14
# File 'lib/abacatepay/configuration.rb', line 12

def api_token
  @api_token
end

#api_urlString (readonly)

Gets the base API URL based on the environment

Returns:

  • (String)

    The base API URL



21
22
23
# File 'lib/abacatepay/configuration.rb', line 21

def api_url
  @api_url
end

#environmentSymbol

Returns Current environment (:production or :sandbox).

Returns:

  • (Symbol)

    Current environment (:production or :sandbox)



15
16
17
# File 'lib/abacatepay/configuration.rb', line 15

def environment
  @environment
end

#timeoutInteger

Returns Request timeout in seconds.

Returns:

  • (Integer)

    Request timeout in seconds



18
19
20
# File 'lib/abacatepay/configuration.rb', line 18

def timeout
  @timeout
end

Instance Method Details

#validate!void

This method returns an undefined value.

Validates the configuration

Raises:



38
39
40
41
# File 'lib/abacatepay/configuration.rb', line 38

def validate!
  raise ConfigurationError, "API token is required" if api_token.nil?
  raise ConfigurationError, "Invalid environment" unless %i[production sandbox].include?(environment)
end