Sha256: 8dbf35a4879f8edb0b8a24ff20145c4bfdd3bf41513b0e33913a87b0c695a660
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
# encoding: UTF-8 require 'money' require 'date' require 'yajl' require 'open-uri' class Money module Bank module OpenExchangeRatesLoader HIST_URL = 'http://openexchangerates.org/historical/' OER_URL = 'http://openexchangerates.org/latest.json' # 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. def load_data(date) rates_source = if date == Date.today OER_URL else # Should we use strftime, does to_s have better performance ? Or is it localized accross systems ? HIST_URL + date.to_s + '.json' end 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
money-historical-bank-0.0.3 | lib/money/bank/open_exchange_rates_loader.rb |