ExchangeRates

Before

Sign up on Open Exchange Rate, and get App ID

Installation

gem 'exchange-rates'

and bundle:

bundle

Post Installation

Install migrations

rake exchange_rates:install:migrations

Review the generated migrations then migrate:

rake db:migrate

Fetch Currency data and save to database

OPEN_EXCHANGE_RATES_APP_ID=XXXXXXXX rake exchange_rates:update

Usage

ExchangeRates::Rate.convert(1000, 'TWD', 'HKD')

Testing

if in your rspec or minitest, you might need add these lines

spec/factories/exchange_rates.rb

FactoryGirl.define do
  factory :exchange_rate_usd, class: ExchangeRates::Rate do
    from_currency 'USD'
    rate_to_base_currency '7'
  end

  factory :exchange_rate_thb, class: ExchangeRates::Rate do
    from_currency 'THB'
    rate_to_base_currency '0.2'
  end

  factory :exchange_rate_hkd, class: ExchangeRates::Rate do
    from_currency 'HKD'
    rate_to_base_currency '1'
  end

  # ... depend on what you need
end

spec/rails_helper.rb

RSpec.configure do |config|

  # ...

  config.before(:each) do
    create(:exchange_rate_hkd); create(:exchange_rate_thb); create(:exchange_rate_usd);
  end

  # ...
end

This project rocks and uses MIT-LICENSE.