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.