moola
Version, currently master branch1 version
- master branchlatestMay 29, 2019
github.com/dorkrawk/moola
Deal with money in Crystal
23 stars
0 dependents
License: not declared
Installation
# Add this to your shard.yml
dependencies:
moola:
github: dorkrawk/moola
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
- no constraint declared
- Author
- Dave Schwantes <dave.schwantes@gmail.com>
Dependencies
This version declares no dependencies.
README
# Moola
A Crystal library for dealing with money (inspired by [RubyMoney](https://github.com/RubyMoney/money))
## Installation
*tested with Crystal 0.28.0*
Add this to your application's `shard.yml`:
```yaml
dependencies:
moola:
github: dorkrawk/moola
```
## Usage
### Basic Money object
```
money = Moola.new(42_00) # creates a new Moola::Money object
money.format # "$42.00"
money.cents # 4200
money.zero? # false
money.to_f # 42.0
-money == Moola.new(-42_00) # true
```
### Comparisons
```
Moola::Money.new(5_00) == Moola::Money.new(5_00) # true
Moola::Money.new(5_00) == Moola::Money.new(7_00) # false
Moola::Money.new(5_00, "USD") == Moola::Money.new(5_00, "EUR") # false
[Moola::Money.new(5_00), Moola::Money.new(2_00), Moola::Money.new(7_00)].sort # sorted by amount
```
### Arithmetic
```
Moola::Money.new(5_00) + Moola::Money.new(10_00) == Moola::Money.new(15_00)
Moola::Money.new(15_00) + Moola::Money.new(12_00) == Moola::Money.new(3_00)
Moola::Money.new(15_00) / 3 == Moola::Money.new(5_00)
Moola::Money.new(5_00) * 3 == Moola::Money.new(15_00)
```
### Conversion
```
Moola::Exchange.add_conversion(Moola::Currency.find("usd"), Moola::Currency.find("cad"), 1.3)
money = Moola.new(1_00, "USD")
money.convert_to(Moola::Currency.find("cad")) == Moola.new(1_30, "cad")
```
## Testing
```
# from the project root...
crystal spec
```
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- May 29, 2019
- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/dorkrawk/moola
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 1