From: Tinco Andringa Date: 2010-04-02T12:53:20+09:00 Subject: [ruby-core:29223] [Bug #3075] Integer gets turned into Float in Rational Issue #3075 has been updated by Tinco Andringa. I figured it out. Since the Duration object responds to .kind_of? Integer it gets turned into a rational, and then the function is recursed. Because @numerator is a Bignum and a.numerator a Duration, coerce gets called, and both are turned into floats. Duration should've overrode coerce, the problem lies with active_support so this ticket can be closed. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/3075 ---------------------------------------- http://redmine.ruby-lang.org