Class: SpreeCmCommissioner::WebhookSubscriberOrdersSender

Inherits:
BaseInteractor
  • Object
show all
Defined in:
app/interactors/spree_cm_commissioner/webhook_subscriber_orders_sender.rb

Instance Method Summary collapse

Instance Method Details

#call ⇒ Object



5
6
7
8
9
10
# File 'app/interactors/spree_cm_commissioner/webhook_subscriber_orders_sender.rb', line 5

def call
  load_scope
  filter_orders

  queue_webhooks_requests
end

#filter_orders ⇒ Object



16
17
18
19
20
# File 'app/interactors/spree_cm_commissioner/webhook_subscriber_orders_sender.rb', line 16

def filter_orders
  webhooks_subscriber.rules.each do |rule|
    context.orders = rule.filter(context.orders)
  end
end

#load_scope ⇒ Object



12
13
14
# File 'app/interactors/spree_cm_commissioner/webhook_subscriber_orders_sender.rb', line 12

def load_scope
  context.orders = Spree::Order.where(state: order_state)
end

#queue_webhooks_requests ⇒ Object



22
23
24
25
26
# File 'app/interactors/spree_cm_commissioner/webhook_subscriber_orders_sender.rb', line 22

def queue_webhooks_requests
  context.orders.each do |order|
    SpreeCmCommissioner::QueueOrderWebhooksRequestsJob.perform_later(order_id: order.id, event: 'order.placed')
  end
end