Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A gem that calculates the exchange rate using published rates from European Central Bank. Compatible with the money gem
Ruby
Branch: master
Pull request Compare This branch is 87 commits behind RubyMoney:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.document
.gitignore
CHANGELOG.rdoc
LICENSE
README.rdoc
Rakefile
eu_central_bank.gemspec

README.rdoc

eu_central_bank

Introduction

This gem downloads the exchange rates from the European Central Bank. You can calculate exchange rates with it. It is compatible with the money gem.

Installation

$ gem install eu_central_bank

Dependencies

  • nokogiri

  • money

Usage

With the gem, you do not need to manually add exchange rates. Calling update_rates will download the rates from the European Central Bank. The API is the same as the money gem. Feel free to use Money objects with the bank.

eu_bank = EuCentralBank.new
Money.default_bank = eu_bank
money1 = Money.new(10)
money1.bank # eu_bank

# call this before calculating exchange rates
# this will download the rates from ECB
eu_bank.update_rates

# exchange 100 CAD to USD
# API is the same as the money gem
eu_bank.exchange(100, "CAD", "USD") # Money.new(80, "USD")
Money.us_dollar(100).exchange_to("CAD")  # Money.new(124, "CAD")

# using the new exchange_with method
eu_bank.exchange_with(Money.new(100, "CAD"), "USD") # Money.new(80, "USD")

For performance reasons, you may prefer to read from a file instead. Furthermore, ECB publishes their rates daily. It makes sense to save the rates in a file to read from.

# saves the rates in a specified location
eu_bank.save_rates("/some/file/location/exchange_rates.xml")

# reads the rates from the specified location
eu_bank.update_rates("/some/file/location/exchange_rates.xml")

# exchange 100 CAD to USD as usual
eu_bank.exchange_with(Money.new(100, "CAD"), "USD") # Money.new(80, "USD")

Deprecation

Note that the exchange method will be deprecated in Money version 3.2.0. eu_central_bank will follow suite and deprecate the method in version 0.2.0

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

Copyright

Copyright © 2010 Wong Liang Zan. See LICENSE for details.

Something went wrong with that request. Please try again.