Кто-нибудь может сломать это для меня? На мой взгляд, 5 минут в квадрате это 25 минут
irb(main):014:0> now = Time.now.utc => 2019-05-03 01:36:41 UTC irb(main):015:0> now + (5.minutes ** 2) => 2019-05-04 02:36:41 UTC
Numeric#minutes
ActiveSupport::Duration#minutes
ActiveSupport::Duratioon::Scalar
Numeric
Тем не менее, когда foo.minutes встречает арифметическую операцию с Numeric в качестве RHO, он [используя принуждение] выполняет математику, используя числосекунд.
foo.minutes
Более того, сравнение с Numeric также сработает:
5.minutes == 300 #⇒ true
Поэтому я советую: никогда не используйте эту вводящую в заблуждение чепуху с обезьянами.Используйте секунды явно для выполнения операций с датой / временем.