Skip to content

A library for converting various objects into `Money` objects.

License

Notifications You must be signed in to change notification settings

cerebelo/monetize

This branch is 148 commits behind RubyMoney/monetize:main.

Folders and files

NameName
Last commit message
Last commit date
Sep 11, 2015
Sep 11, 2015
Dec 29, 2013
Dec 24, 2013
Sep 2, 2015
Sep 8, 2014
Sep 11, 2015
Dec 27, 2014
Sep 2, 2015
Dec 24, 2013
Jan 28, 2015
Sep 11, 2015
Sep 2, 2015

Repository files navigation

Monetize

Gem Version Build Status Code Climate Coverage Status 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")

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):

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 for details.

About

A library for converting various objects into `Money` objects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%