0.0
No release in over 3 years
Low commit activity in last 3 years
Convert currencies using live exchange rates.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.14
~> 2.1
~> 0.10
~> 10.0
~> 3.0

Runtime

 Project Readme

PuppyMoney Build Status

Convert money using real-time exchange rates from fixer.io

puppy money demo

Installation

Add this line to your application's Gemfile:

gem 'puppy_money'

And then execute:

$ bundle

Or install it yourself as:

$ gem install puppy_money

Usage

Convert money using real-time rates

# Instantiate money objects:

fifty_eur = Money.new(50, 'EUR')
twenty_dollars = Money.new(20, 'USD')

# Get amount and currency:

fifty_eur.amount   # => 50
fifty_eur.currency # => "EUR"
fifty_eur.inspect  # => "50.00 EUR"

# Convert to a different currency with up to date exchange rates

# exchange rate April 26, 2017
fifty_eur.convert_to('USD') # => 54.46 USD

# Perform operations in different currencies:

## Arithmetic

fifty_eur + twenty_dollars # => 68.02 EUR
fifty_eur - twenty_dollars # => 31.98 EUR
fifty_eur / 2              # => 25 EUR
twenty_dollars * 3         # => 60 USD

## Comparisons (also in different currencies):

twenty_dollars == Money.new(20, 'USD') # => true
twenty_dollars == Money.new(30, 'USD') # => false

fifty_eur_in_usd = fifty_eur.convert_to('USD')
fifty_eur_in_usd == fifty_eur          # => true

twenty_dollars > Money.new(5, 'USD')   # => true
twenty_dollars < fifty_eur             # => true

TODO

  • Implement functionality for manually inputted currencies and non-standard currencies
  • Refactor code into smaller services
  • Stub HTTP requests in rspec

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/dankreiger/puppy_money.

License

The gem is available as open source under the terms of the MIT License.