Much of what’s driven my off-off-hours development over the last year is the architecture, design and coding of a Units Framework for Ruby.
While there are a few out there, this one is different - predicated on a NumericWithUnits
, units are added to Numeric
s transparently.
They act exactly like Numeric
s without units, but assert their types when appropriate and handle conversions automatically, such as:
5.inches + 3.feet | 41 inches |
55.miles_per_hour.feet_second | 80.666666667 ft / s |
seconds_per_week | 604800 |
To use them you just include the framework and everything just works. Go grab them for free at rubygems.
I wrote about the development as I went along, and humbly submit it for your reading pleasure.
This is just the first part of the development, however - only scalar units. When I need them, I’m going to add formulaic conversions (like temperature) and data-driven conversions (like currency).