Class: BankOfThailand::Configuration

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

Overview

Configuration for the BankOfThailand API client

Constant Summary collapse

DEFAULT_BASE_URL =

Default base URL for the BOT API

"https://gateway.api.bot.or.th"
DEFAULT_TIMEOUT =

Default timeout in seconds

30
DEFAULT_MAX_RETRIES =

Default number of retries

3

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Initialize a new Configuration instance



31
32
33
34
35
36
37
# File 'lib/bank_of_thailand/configuration.rb', line 31

def initialize
  @api_token = nil
  @base_url = DEFAULT_BASE_URL
  @timeout = DEFAULT_TIMEOUT
  @max_retries = DEFAULT_MAX_RETRIES
  @logger = nil
end

Instance Attribute Details

#api_tokenString

Returns API token for authentication.

Returns:

  • (String)

    API token for authentication



7
8
9
# File 'lib/bank_of_thailand/configuration.rb', line 7

def api_token
  @api_token
end

#base_urlString

Returns Base URL for the BOT API gateway.

Returns:

  • (String)

    Base URL for the BOT API gateway



10
11
12
# File 'lib/bank_of_thailand/configuration.rb', line 10

def base_url
  @base_url
end

#loggerLogger?

Returns Logger instance for debugging.

Returns:

  • (Logger, nil)

    Logger instance for debugging



19
20
21
# File 'lib/bank_of_thailand/configuration.rb', line 19

def logger
  @logger
end

#max_retriesInteger

Returns Number of retry attempts for failed requests.

Returns:

  • (Integer)

    Number of retry attempts for failed requests



16
17
18
# File 'lib/bank_of_thailand/configuration.rb', line 16

def max_retries
  @max_retries
end

#timeoutInteger

Returns Request timeout in seconds.

Returns:

  • (Integer)

    Request timeout in seconds



13
14
15
# File 'lib/bank_of_thailand/configuration.rb', line 13

def timeout
  @timeout
end

Instance Method Details

#valid?Boolean

Check if configuration is valid

Returns:

  • (Boolean)

    true if valid, false otherwise



51
52
53
54
55
56
# File 'lib/bank_of_thailand/configuration.rb', line 51

def valid?
  validate!
  true
rescue ConfigurationError
  false
end

#validate!Boolean

Validate the configuration

Returns:

  • (Boolean)

    true if valid

Raises:



42
43
44
45
46
47
# File 'lib/bank_of_thailand/configuration.rb', line 42

def validate!
  raise ConfigurationError, "API token is required" if api_token.nil? || api_token.empty?
  raise ConfigurationError, "Base URL cannot be empty" if base_url.nil? || base_url.empty?

  true
end