/jeff-money

Currency convertor. Small challenge to test skills on some ruby internals.

Primary LanguageRuby

Travis build information for branch master Dependency Status Security warnings Maintainability Test Coverage

Jeff currency

Gem that convert currency to each other.

Installation

Add this line to our Gemfile

gem 'jeff-money', git: 'https://github.com/gobert/jeff-money'

and then install it using bundle: bundle install.

The gem has been tested against ruby 2.4.1 (MRI).

Usage

First you need to prepare the gem:

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

Instantiate new objects:

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

Get amount and currency:

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

Convert to a different currency

fifty_eur.convert_to('USD') # => 55.50 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

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

Contribute

See CONTRIBUTING.md