Module: BankOfThailand

Defined in:
lib/bank_of_thailand.rb,
lib/bank_of_thailand/client.rb,
lib/bank_of_thailand/errors.rb,
lib/bank_of_thailand/version.rb,
lib/bank_of_thailand/resource.rb,
lib/bank_of_thailand/response.rb,
lib/bank_of_thailand/configuration.rb,
lib/bank_of_thailand/resources/loan_rate.rb,
lib/bank_of_thailand/resources/statistics.rb,
lib/bank_of_thailand/resources/swap_point.rb,
lib/bank_of_thailand/resources/deposit_rate.rb,
lib/bank_of_thailand/resources/implied_rate.rb,
lib/bank_of_thailand/resources/exchange_rate.rb,
lib/bank_of_thailand/resources/interest_rate.rb,
lib/bank_of_thailand/resources/search_series.rb,
lib/bank_of_thailand/resources/interbank_rate.rb,
lib/bank_of_thailand/resources/financial_holidays.rb,
lib/bank_of_thailand/resources/average_exchange_rate.rb

Overview

Ruby wrapper for the Bank of Thailand (BOT) API

Provides access to three documented API products:

  • Weighted-average Interbank Exchange Rate (THB/USD)
  • Debt Securities Auction Results
  • BOT License Check

Examples:

Configure and use the client

BankOfThailand.configure do |config|
  config.api_token = "your_api_token"
end

client = BankOfThailand::Client.new
rates = client.exchange_rate.daily(
  start_period: "2025-01-01",
  end_period: "2025-01-31"
)

See Also:

Defined Under Namespace

Modules: Resources Classes: AuthenticationError, AverageExchangeRate, Client, Configuration, ConfigurationError, DepositRate, Error, FinancialHolidays, ImpliedRate, InterbankRate, InvalidTokenError, LoanRate, NotFoundError, RateLimitError, RequestError, Resource, Response, SearchSeries, ServerError, SwapPoint

Constant Summary collapse

VERSION =
"0.2.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationConfiguration

Get the global configuration

Returns:



65
66
67
# File 'lib/bank_of_thailand/configuration.rb', line 65

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.client(config = nil) {|Configuration| ... } ⇒ Client

Create a new client instance

Examples:

client = BankOfThailand.client do |config|
  config.api_token = "token"
end

Parameters:

  • config (Configuration, nil) (defaults to: nil)

    Optional configuration

Yields:

Returns:

  • (Client)

    new client instance



53
54
55
# File 'lib/bank_of_thailand.rb', line 53

def client(config = nil, &block)
  Client.new(config, &block)
end

.configure {|Configuration| ... } ⇒ void

This method returns an undefined value.

Configure the gem

Examples:

BankOfThailand.configure do |config|
  config.api_token = "your_token_here"
  config.timeout = 60
end

Yields:



78
79
80
# File 'lib/bank_of_thailand/configuration.rb', line 78

def configure
  yield(configuration)
end

.reset_configuration!Configuration

Reset configuration to defaults

Returns:



84
85
86
# File 'lib/bank_of_thailand/configuration.rb', line 84

def reset_configuration!
  @configuration = Configuration.new
end