Monetize alternatives and similar gems
Based on the "Money" category.
Alternatively, view Monetize alternatives based on common mentions on social networks and blogs.
-
eu_central_bank
A gem that calculates the exchange rate using published rates from European Central Bank. Compatible with the money gem
Scout Monitoring - Performance metrics and, now, Logs Management Monitoring with Scout Monitoring
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Monetize or a related project?
README
Monetize
A library for converting various objects into Money
objects.
Installation
Add this line to your application's Gemfile:
gem 'monetize'
And then execute:
$ bundle
Or install it yourself as:
$ gem install monetize
Usage
Monetize.parse("USD 100") == Money.new(100_00, "USD")
Monetize.parse("EUR 100") == Money.new(100_00, "EUR")
Monetize.parse("GBP 100") == Money.new(100_00, "GBP")
"100".to_money == Money.new(100_00, "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:
Monetize.parse("£100") == Money.new(100_00, "USD")
Monetize.assume_from_symbol = true
Monetize.parse("£100") == Money.new(100_00, "GBP")
"€100".to_money == Money.new(100_00, "EUR")
Monetize can also parse a list of values, returning an array-like object ([Monetize::Collection](lib/collection.rb)):
Monetize.parse_collection("€80/$100") == [Money.new(80_00, "EUR"), Money.new(100_00, "USD")]
Monetize.parse_collection("€80, $100") == [Money.new(80_00, "EUR"), Money.new(100_00, "USD")]
# The #range? method detects the presence of a hyphen
Monetize.parse_collection("€80-$100").range? == true
Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
*Note that all licence references and agreements mentioned in the Monetize README section above
are relevant to that project's source code only.