Piggybank is a project mainly written in Ruby, it's free.
Bank for the Money gem with exchange rate history
Based on https://github.com/RubyMoney/eu_central_bank
Piggybank periodically downloads and stores exchange rates from the European Central Bank so that they can be calculated for a given point in time.