module Europe::Currency::ExchangeRates
exchange rates
Constants
- EXCHANGE_URL
Public Class Methods
extract_rates(doc)
click to toggle source
# File lib/europe/currency/exchange_rates.rb, line 19 def self.extract_rates(doc) data = JSON.parse(doc) rates = { date: Date.parse(data['usd']['date']), rates: {} } filter_rates(data, rates) rescue JSON::ParserError :failed end
filter_rates(data, rates)
click to toggle source
# File lib/europe/currency/exchange_rates.rb, line 30 def self.filter_rates(data, rates) data.each do |currency, object| rates[:rates][currency.upcase.to_sym] = object['rate'].to_f end rates end
retrieve()
click to toggle source
# File lib/europe/currency/exchange_rates.rb, line 14 def self.retrieve resp = Net::HTTP.get_response(URI.parse(EXCHANGE_URL)) resp.code.to_i == 200 ? extract_rates(resp.body) : :failed end