Class: BankOfThailand::AverageExchangeRate

Inherits:
Resource
  • Object
show all
Defined in:
lib/bank_of_thailand/resources/average_exchange_rate.rb

Overview

Average Exchange Rate - THB / Foreign Currency resource

This resource provides access to daily average exchange rates between Thai Baht and 19 foreign currencies from commercial banks in Thailand.

Examples:

Get daily average exchange rates

client = BankOfThailand.client
rates = client.average_exchange_rate.daily(
  start_period: "2024-01-01",
  end_period: "2024-01-31",
  currency: "USD"
)

Constant Summary collapse

BASE_URL =
"https://gateway.api.bot.or.th/Stat-ExchangeRate/v2"

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from BankOfThailand::Resource

Instance Method Details

#annual(start_period:, end_period:, currency: nil) ⇒ Hash

Get annual average exchange rates

Parameters:

  • start_period (String)

    Start period (YYYY)

  • end_period (String)

    End period (YYYY)

  • currency (String, nil) (defaults to: nil)

    Foreign currency code (optional)

Returns:

  • (Hash)

    Response containing annual average exchange rate data

Raises:



68
69
70
71
72
73
# File 'lib/bank_of_thailand/resources/average_exchange_rate.rb', line 68

def annual(start_period:, end_period:, currency: nil)
  params = { start_period: start_period, end_period: end_period }
  params[:currency] = currency if currency

  get_with_base_url("/ANNUAL_AVG_EXG_RATE/", params)
end

#daily(start_period:, end_period:, currency: nil) ⇒ Hash

Get daily average exchange rates

Parameters:

  • start_period (String)

    Start period date (YYYY-MM-DD)

  • end_period (String)

    End period date (YYYY-MM-DD)

  • currency (String, nil) (defaults to: nil)

    Foreign currency code (optional)

Returns:

  • (Hash)

    Response containing daily average exchange rate data

Raises:



26
27
28
29
30
31
# File 'lib/bank_of_thailand/resources/average_exchange_rate.rb', line 26

def daily(start_period:, end_period:, currency: nil)
  params = { start_period: start_period, end_period: end_period }
  params[:currency] = currency if currency

  get_with_base_url("/DAILY_AVG_EXG_RATE/", params)
end

#monthly(start_period:, end_period:, currency: nil) ⇒ Hash

Get monthly average exchange rates

Parameters:

  • start_period (String)

    Start period (YYYY-MM)

  • end_period (String)

    End period (YYYY-MM)

  • currency (String, nil) (defaults to: nil)

    Foreign currency code (optional)

Returns:

  • (Hash)

    Response containing monthly average exchange rate data

Raises:



40
41
42
43
44
45
# File 'lib/bank_of_thailand/resources/average_exchange_rate.rb', line 40

def monthly(start_period:, end_period:, currency: nil)
  params = { start_period: start_period, end_period: end_period }
  params[:currency] = currency if currency

  get_with_base_url("/MONTHLY_AVG_EXG_RATE/", params)
end

#quarterly(start_period:, end_period:, currency: nil) ⇒ Hash

Get quarterly average exchange rates

Parameters:

  • start_period (String)

    Start period (YYYY-QN, e.g., 2024-Q1)

  • end_period (String)

    End period (YYYY-QN)

  • currency (String, nil) (defaults to: nil)

    Foreign currency code (optional)

Returns:

  • (Hash)

    Response containing quarterly average exchange rate data

Raises:



54
55
56
57
58
59
# File 'lib/bank_of_thailand/resources/average_exchange_rate.rb', line 54

def quarterly(start_period:, end_period:, currency: nil)
  params = { start_period: start_period, end_period: end_period }
  params[:currency] = currency if currency

  get_with_base_url("/QUARTERLY_AVG_EXG_RATE/", params)
end