Class: DailyExchangeRatesBank::ExchangeRatesApiClient

Inherits:
Object
  • Object
show all
Defined in:
lib/daily_exchange_rates_bank/exchange_rates_api_client.rb

Overview

Access api.frankfurter.app to fetch historic exchange rates

Instance Method Summary collapse

Instance Method Details

#exchange_rates(from: 'EUR', to: %w[USD GBP CHF], date: Date.today) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/daily_exchange_rates_bank/exchange_rates_api_client.rb', line 8

def exchange_rates(from: 'EUR', to: %w[USD GBP CHF], date: Date.today)
  api_url = ENV.fetch('RATES_API_URL', 'https://api.frankfurter.app/')
  uri = URI.parse(api_url)
  uri.path = "/#{date}"
  uri.query = "base=#{from}&symbols=#{to.join(',')}"
  json_response = uri.read
  JSON.parse(json_response)['rates']
end