würde ich empfehlen nicht Umfang Verantwortung zu mischen. Wenn Sie alles in einem Bereich namens order_by_time
tun, ist die Benennung verwirrend, wenn ich Order.order_by_time
sehe, werde ich davon ausgehen, dass es nur das Ergebnis bestellt, und ich werde wirklich überrascht sein, wenn ich die Realität nach der Überprüfung der Implementierung ...
ich würde eine Isolierung empfehlen, die mehr Flexibilität für die spätere Verwendung bestimmt:
scope :pending, -> { where(status: :pending) }
scope :completed, -> { where(status: :completed) }
scope :order_by_pickup_time, -> { order(pickup_time: :desc) }
scope :order_by_dropof_time, -> { order(dropof_time: :desc) }
Dann könnte man sie benutzt:
Order.pending.order_by_pickup_time
Order.completed.order_by_dropof_time