module Money::Bank::OpenExchangeRatesLoader
Constants
- HIST_URL
- OER_URL
Public Instance Methods
load_data(date)
click to toggle source
Tries to load data from OpenExchangeRates for the given rate. Won't do anything if there's no data available for that date in OpenExchangeRates (short) history.
# File lib/money/bank/open_exchange_rates_loader.rb, line 16 def load_data(date) rates_source = if date == Date.today OER_URL.dup else HIST_URL + date.strftime('%Y-%m-%d') + '.json' end rates_source << "?app_id=#{ENV['OPENEXCHANGERATES_APP_ID']}" if ENV['OPENEXCHANGERATES_APP_ID'] doc = Yajl::Parser.parse(open(rates_source).read) base_currency = doc['base'] || 'USD' doc['rates'].each do |currency, rate| # Don't use set_rate here, since this method can only be called from # get_rate, which already aquired a mutex. internal_set_rate(date, base_currency, currency, rate) end end