2016-05-12 79 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可以計算。

我更喜歡第二種解決方案,爲不同的訂單啓用不同的處理時間。