Moolah

Moolah is a Money gem that deals with Currency and FX_RATE. It is being used in multiple repos in Hotels/Bookings.

Installation

gem 'moolah'

And then execute:

$ bundle

Or install it yourself as:

$ gem install moolah

How to upgrade to version 5

For version 5, fx_rate is a must field while initializing a Moolah::Money object with different currency other than AUD. When you initialize Moolah::Money with AUD as the currency, the fx_rate will be default to 1.0

This will break projects that are using older Moolah version expect the project is using AUD as the main currency.

gem 'moolah', -> '5.3'
$ bundle update moolah

Usage

To create a new Moolah::Money object

Moolah::Money.new(amount: '10', currency: 'AUD', fx_rate: '1.0000')

To create a AUD dollar Moolah::Money object

Moolah::Money.in_aud('10')

To create a zero dollar Moolah::Money object

Moolah::Money.zero(currency: 'AUD', fx_rate: '1.0000')

To display a json format of the Moolah::Money object

money = Moolah::Money.new(amount: '10', currency: 'AUD', fx_rate: '1.0000')
money.as_json 
=> {
    'amount' => '10.00',
    'currency' => 'AUD',
    'fx_rate' => '1.0000'
   }

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/moolah.

License

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