Popularity
4.7
Growing
Activity
6.3
-
412
17
105

Code Quality Rank: L5
Monthly Downloads: 866,387
Programming language: Ruby
License: MIT License
Tags: Money     Projects    
Latest version: v1.12.0

Monetize alternatives and similar gems

Based on the "Money" category.
Alternatively, view Monetize alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Monetize or a related project?

Add another 'Money' Gem

README

Monetize

Gem Version Build Status Code Climate Dependency Status License

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.