Squeelを使用して既存のスコープを参照する方法はありますか?
次の点を考慮してください。
scope :continuous, where{ job_type_id == 1 }
scope :standard, where{ job_type_id == 2 }
scope :active, where{ (job_status_id == 2) & ((job_type_id == 1) | ((job_type_id == 2) & (date_start > Time.now) & (date_end < Time.now))) }
3つのスコープはすべて正常に動作しますが、最初の2つ(連続
と標準
)のロジックは3回目に複製されます。何かのようなもの:
scope :active, where{ (job_status_id == 2) & (continuous | (standard & (date_start > Time.now) & (date_end < Time.now))) }
...名前付きスコープを参照するためのSqueel DSLで正しい構文が見つからない点を除いて。
私が好きなやり方をする方法はありますか、それとも明示する必要はありますか?