У меня есть приложение, реализующее API RESTful. У меня есть два метода: create_order
и order_status
. Первый метод создает порядок и сохраняется его с текущим временем в order.time
поле:Относительный расчет времени
order.time = Time.now
второй метод отвечает с закодированным значением:
:eta => 20.minutes.from_now.to_i
Вместо возвращении жёстко прописанные 20 минут, как может Я возвращаю относительное значение, которое уменьшается с истекшим временем (в зависимости от времени, когда был запрошен статус)?
В начале заказа они одинаковы (20.minutes.from_now.to_i
), но если запрос сделан через 5 минут, он должен быть 15.minutes.from_now.to_i
.
Как 'order.time + 20.minutes'? – Stefan
@Stephat, который будет константой, которая не зависит от текущего времени запроса. – dds
Предположим, что начало заказа - 12:00, ETA вычисляется через '20.minutes.from_now', что дает 12:20. Пять минут спустя (это 12:05), ETA следует рассчитать через '15.minutes.from_now', что дает 12:20. Я что-то упускаю? – Stefan