0.0
No commit activity in last 3 years
No release in over 3 years
An easy to use Ruby gem that performs currency conversion and arithmetics with different currencies
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.14
~> 10.0
~> 3.0
 Project Readme

Converter Money

Gem Version

Converter Money is a Ruby gem that performs currency conversion and arithmetics with different currencies.

Installation

Install and require the gem:

$ gem install converter-money
require 'converter/money'

Or add this line to your application's Gemfile:

gem 'converter-money'

And then use Bundler to install it:

$ bundle install

Usage

Configure the converstion rates

Converter::Money.conversion_rates('EUR', {
  'USD' => 1.11,
  'Bitcoin' => 0.0047
})

Create an instance of Converter::Money

fifty_eur = Convrter::Money.new(50, 'EUR')

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

Converting to a different currency

Note that the currency must be available in the configuration. ConverterMoney#convert_to returns an instance of ConverterMoney.

fifty_eur.convert_to('USD')     # => 55.50 USD
fifty_eur.convert_to('Bitcoin') # => 0.24 Bitcoin

twenty_usd = Converter::Money.new(20, 'USD')
twenty_usd.convert_to('EUR')    # => 18.02 EUR

Performing operations in different currencies

Arithmetics:

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:

Note that two monetary values are considered to be equal if they are the same up to 2 decimal places

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

Support

  • Any bugs about Converter::Money, please feel free to report here.
  • Contributions are also welcome. Just fork and send pull requests.

License

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