Gem Version Build Status Code Climate Coverage Status Dependency Status License

A library for converting various objects into Money objects.


Add this line to your application’s Gemfile:

gem 'monetize'

And then execute:

$ bundle

Or install it yourself as:

$ gem install monetize


“by Monetize.parse(“USD 100”) ==, “USD”) Monetize.parse(“EUR 100”) ==, “EUR”) Monetize.parse(“GBP 100”) ==, “GBP”)

“100”.to_money ==, “USD”)

parse will return nil if it is unable to parse the input. Use parse! instead if you want a Monetize::Error (or one of the subclasses) to be raised instead:


Monetize.parse(‘OMG 100’)

=> nil

Monetize.parse!(‘OMG 100’) Monetize::ParseError: Unknown currency ‘omg’

Optionally, enable the ability to assume the currency from a passed symbol. Otherwise, currency symbols will be ignored, and USD used as the default currency:

“by Monetize.parse(“£100”) ==, “USD”)

Monetize.assume_from_symbol = true

Monetize.parse(“£100”) ==, “GBP”) “€100”.to_money ==, “EUR”)

Monetize can also parse a list of values, returning an array-like object (Monetize::Collection):

“by Monetize.parse_collection(“€80/$100”) == [, EUR),, USD)] Monetize.parse_collection(“€80, $100”) == [, EUR),, USD)]

The #range? method detects the presence of a hyphen

Monetize.parse_collection(“€80-$100”).range? == true


See for details.