Class: BankOfThailand::Configuration
- Inherits:
-
Object
- Object
- BankOfThailand::Configuration
- 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
-
#api_token ⇒ String
API token for authentication.
-
#base_url ⇒ String
Base URL for the BOT API gateway.
-
#logger ⇒ Logger?
Logger instance for debugging.
-
#max_retries ⇒ Integer
Number of retry attempts for failed requests.
-
#timeout ⇒ Integer
Request timeout in seconds.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
Initialize a new Configuration instance.
-
#valid? ⇒ Boolean
Check if configuration is valid.
-
#validate! ⇒ Boolean
Validate the configuration.
Constructor Details
#initialize ⇒ Configuration
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_token ⇒ String
Returns API token for authentication.
7 8 9 |
# File 'lib/bank_of_thailand/configuration.rb', line 7 def api_token @api_token end |
#base_url ⇒ String
Returns 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 |
#logger ⇒ Logger?
Returns Logger instance for debugging.
19 20 21 |
# File 'lib/bank_of_thailand/configuration.rb', line 19 def logger @logger end |
#max_retries ⇒ Integer
Returns 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 |
#timeout ⇒ Integer
Returns 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
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
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 |