Object class for default mysql :decimal columns

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!

I don’t have time to confirm right now, but go ahead and put the bug
in. The worst that happens is they close it.

On 6/22/07, Carl J. [email protected] wrote:

nan? that only work for numeric classes such as Float or BigDecimal.
Posted via http://www.ruby-forum.com/.


Gabe da Silveira
http://darwinweb.net