One of the data layer scripts that handles type evaluation in my Rails application was exhibiting strange behavior and upon digging we found the issue was:
Rational(BigDecimal(1), 1).class
=> BigDecimal
I'm struggling to find anything on this and why a Rational constructor is returning a BigDecimal. Any ideas?