At Collective Idea, we often try to take pieces of code that we use often and extract them into plugins. We’re trying to get better about making them available, so, here we go:
acts\_as\_money is a fairly trivial plugin that has proved to be very useful. It just makes it a little easier to work with the money gem.
This assumes that there are 2 columns in the database,
cents (integer) and
currency (string). These fields can be changed by setting the :cents and :currency options. To use the default currency, you can simple set :currency option to false and not have a currency field.
acts\_as\_money also incorporates a patch to
composed\_of that I submitted to core that allows you to pass a String, Fixnum, Float or Money object as a parameter to the setter, and it will call #to_money to convert it to a Money object. This makes it convenient for using money fields in forms.
script/plugin install git://github.com/collectiveidea/acts_as_money.git
Hope you find this useful. I know I’ve been using it in any app that handles money, and it’s been a time saver. Allowing me to use a
composed\_of field in forms has been extremely helpful.