Class: SpreeDoordash::OrderCompletedSubscriber
- Inherits:
-
Spree::Subscriber
- Object
- Spree::Subscriber
- SpreeDoordash::OrderCompletedSubscriber
- Defined in:
- app/subscribers/spree_doordash/order_completed_subscriber.rb
Overview
Events & Subscribers is the preferred pattern for this kind of side effect (per this app's own CLAUDE.md conventions) — react to order.completed without touching Spree::Order itself. Mirrors SpreeSquare::OrderCompletedSubscriber's shape exactly; independent of it — spree_square's own order push (kitchen ticket) still fires for every order regardless of fulfillment method, DoorDash only decides who carries it out the door.
Instance Method Summary collapse
Instance Method Details
#handle(event) ⇒ Object
12 13 14 15 16 17 18 |
# File 'app/subscribers/spree_doordash/order_completed_subscriber.rb', line 12 def handle(event) order = Spree::Order.find_by_prefix_id(event.payload['id']) return unless order return unless doordash_delivery?(order) SpreeDoordash::DeliveryDispatchJob.perform_later(order.id) end |