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

#callObject



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_ordersObject



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_scopeObject



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_requestsObject



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