Skip to content

briandoll/cash_handler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cash_handler

cash_handler aims to be an intuitive (and useful) set of extensions and utilities to assist in handling money across different currencies for Ruby on Rails.

Requirements and Installation

  • Install the hpricot gem (gem install hpricot)
  • Install the cash_handler plugin (script/plugin install git://github.com/JamesBrooks/cash_handler.git)

Usage


  c = CashHandler::Base.new
  
  # Get the current exchange rate of the AUD against the USD (currency code strings are case in-sensitive, can also be symbols)
  c.get('AUD')
  => 0.619099
  
  # Get the current exchange rate of the AUD against the GBP
  c.get('AUD', :against => 'GBP')
  => 0.418621272567449
  
  # Convert
  c.convert(10, :aud, :usd)
  => 6.19099
  
  # Force the converstion rates cache to reload currencies
  c.cache.expire
  
  # The CashHandler::Cache has a default cache life of one day, this can be overridden in one of two ways
  # Upon creation
  c = CashHandler::Base.new(30.minutes)
  
  # During operation
  c.cache.ttl = 30.minutes

Backup rates in case x-rates.com is inaccessible

You may configure cash_handler to create a backup file every time it pulls rates from x-rates.com. In the event that x-rates.com is inaccessible, the rates stored in the backup file will be used.


  # Configure cash_handler to persist rates to our app's log directory
  c = CacheHandler::Base.new(1.day, "#{RAILS_ROOT}/log/rates_backup.yml")

Copyright and License

Copyright © 2008 James Brooks, released under the MIT license

About

Intuitive extensions and utilities to handle money in multiple currencies for Ruby on Rails

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%