Ваши аргументы
increment = 30
duration = 480 # 8*60
Вы можете использовать
increment.step(by: increment, to: duration).to_a
#=> [ 30, 60, 90, 120, 150, 180, 210, 240,
# 270, 300, 330, 360, 390, 420, 450, 480]
, что хорошо читается. Числовой # шаг , если используется без блока, возвращает перечислитель, поэтому необходим .to_a
.