I’ve noticed some strange behavior while debugging some problems in the
acts_as_rated plugin and Rails 1.2.3 with mysql.
In a migration or schema, a :decimal column that specifies :scale is
returned as a BigDecimal object in Rails. That’s good.
Specifying just :decimal however without :scale or :precision will
return a Fixnum object in Rails. That’s bad and inconsistent. For
:decimal data, developers would expect to be able to use methods like
nan? that only work for numeric classes such as Float or BigDecimal.
Columns of type :decimal should return a consistent object class no
matter what the scale or precision defined.
Can anyone confirm this or shed some light? I hesitate to submit a Rails
bug because I have no idea how to go about writing a test for this
within Rails.
Thanks!