Description
Calculating sum/min/max on a bunch of Money objects, with accuracy and efficiency.
This is achieved by minimizing number of currency conversions and object creations.
For large collections, sum/min/max can perform up to 4 times as fast. For small collections (n<10), it can perform at least 2 times as fast.
Money-Collection alternatives and similar gems
Based on the "Money" category.
Alternatively, view Money-Collection 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
CodeRabbit: AI Code Reviews for Developers
* 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 Money-Collection or a related project?
README
Money::Collection
Calculating sum/min/max on a bunch of Money objects, with accuracy and efficiency.
This is achieved by minimizing number of currency conversions and object creations.
For large collections, sum/min/max can perform up to 4 times as fast. For small collections (n<10), it can perform at least 2 times as fast.
Installation
Add this line to your application's Gemfile:
gem 'money-collection'
And then execute:
$ bundle
Or install it yourself as:
$ gem install money-collection
Usage
Here is the demo of the Money::Collection library:
require 'money'
require 'money/collection'
c = Money::Collection.new( [money1, money2] )
c << money3
c.concat [money4, money5]
c.sum
c.sum('TWD') # returns sum in TWD currency.
c.max
c.min
For more, please check the API documentation.
Contributing
The followings areas can use some of your expertise:
- Benchmarking, including comparison between commits.
- Accuracy improvement
- Optimization
License
MIT License (See LICENSE.txt)
*Note that all licence references and agreements mentioned in the Money-Collection README section above
are relevant to that project's source code only.