weynsee / money-open-exchange-rates

A gem that calculates the exchange rate using published rates from open-exchange-rates. Compatible with the money gem.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Money Open Exchange Rates

A gem that calculates the exchange rate using published rates from open-exchange-rates

Usage

require 'money/bank/open_exchange_rates_bank'
moe = Money::Bank::OpenExchangeRatesBank.new
moe.cache = 'path/to/file/cache'
moe.app_id = 'your app id from https://openexchangerates.org/signup'
moe.update_rates

Money.default_bank = moe

You can also provide a Proc as a cache to provide your own caching mechanism perhaps with Redis or just a thread safe Hash (global). For example:

moe.cache = Proc.new do |v|
  key = 'money:exchange_rates']
  if v
    Thread.current[key] = v
  else
    Thread.current[key]
  end
end

Tests

As of the end of August 2012 all requests to the Open Exchange Rates API must have a valid app_id. You can place your own key on a file named TEST_APP_ID and then run:

bundle exec ruby test/open_exchange_rates_bank_test.rb

Refs

Contributors

License

The MIT License

Copyright © 2012 Laurent Arnoud laurent@spkdev.net

About

A gem that calculates the exchange rate using published rates from open-exchange-rates. Compatible with the money gem.

License:MIT License


Languages

Language:Ruby 100.0%