朝起きたら Rails 5.1.2 がリリースされている最中だった。
個人的に普遍的な影響がありそうだと思ったのが、ActiveSupport::Duration:: Scalar
に手が入った以下 Fix implicit coercion calculations with scalars and durations の変更となる。
少しサンプルコードを書くとこのような振る舞いの違いになる。
Rails 5.1.1
2 * 1.day #=> 172800 seconds 86400 / 1.day #=> 1 second
Rails 5.1.2
2 * 1.day #=> 2 days 86400 / 1.day #=> 86400 days
このように 5.1.1 まで秒の duration に変換していたものを、日の duration を維持するようになっている。
これまでのように秒の duration を返したいということであれば、86400 / 1.day.seconds
といったように明示的に秒への変換をした上で処理をすると良いと思う。