Rails: ошибка при добавлении двух объектов ActiveSupport::Duration

В консоли Rails (Rails 5.0.1) у меня есть объект ActiveSupport::Duration, представляющий временной интервал, в данном случае 12 минут:

x = ActiveSupport::Duration.parse("P0Y0M0DT0H12M")

Я хотел бы добавить к нему случайное количество минут, поэтому я создаю еще один объект ActiveSupport::Duration:

y = ActiveSupport::Duration.parse("P0Y0M0DT0H3M")

Согласно документам, я ожидаю, что можно добавить их просто с помощью оператора + и выполнить x+y, но это приводит к:

NoMethodError: undefined method '+' for {:years=>0, :months=>0, :days=>0, :hours=>0, :minutes=>12}:Hash

Где я ошибаюсь? Почему он думает, что это хэши?


person DelPiero    schedule 31.05.2017    source источник


Ответы (1)


Это была ошибка, вызванная хэшированием частей, что выглядит как частичный перенос с 5.1 на 5.0.3. Вы можете обновить версию Rails до 5.1.x или сначала вернуть значения к числам.

person Adam Lassek    schedule 31.05.2017