Class: SpreeDoordash::OrderCompletedSubscriber

Inherits:
Spree::Subscriber
  • Object
show all
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