2016-05-12 5 views
0

RESTful APIを実装しているアプリケーションがあります。私は2つの方法がありますcreate_orderorder_status。どのようにすることができ、ハードコードされた20分を返す代わり相対時間の計算

:eta => 20.minutes.from_now.to_i 

:第一の方法は、注文を作成し、order.timeフィールドに現在の時刻とそれを持続する:

order.time = Time.now 

第2の方法は、ハードコード値で応答します経過時間とともに減少する相対的な値を返します(ステータスリクエストが行われた時刻に依存します)。

注文の開始時には同じ(20.minutes.from_now.to_i)ですが、5分後にリクエストが行われた場合は15.minutes.from_now.to_iになります。

+0

「order.time + 20.minutes'」と同様ですか? – Stefan

+0

@Stephatは、要求の現在の時間に依存しない定数になります。 – dds

+0

注文の始まりが12:00であるとしますと、ETAは '20minutes.from_now'で計算され、12:20になります。 5分後(12時05分)、ETAは「15.minutes.from_now」で計算され、12:20になります。何か不足していますか? – Stefan

答えて

0

私は、例えばorder.time

と一緒に他のいくつかの属性を救う:order.eta = Time.now + 1200

さも:order.processing_time = 1200、その後order.etaを計算することができます。

私は第2のソリューションがより好きで、異なる注文に対して異なる処理時間を可能にします。