2016-05-12 51 views
0

我有一个应用程序实现RESTful API。我有两种方法create_orderorder_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

+0

Like'order.time + 20.minutes'? – Stefan

+0

@Stephat将是一个常数,不取决于当前的请求时间。 – dds

+0

假设订单的开始时间是12:00,ETA是通过'20.minutes.from_now'计算的,它给出12:20。五分钟后(现在是12:05),ETA应该通过“15.minutes.from_now”计算,这会给出12:20。我错过了什么吗? – Stefan

回答

0

我会节省一些其他的属性与order.time

例如沿:order.eta = Time.now + 1200

要不然:order.processing_time = 1200,然后order.eta可以计算。

我更喜欢第二种解决方案,为不同的订单启用不同的处理时间。