Class: SpreeCmCommissioner::Webhooks::Rules::OrderStates

Inherits:
SubscriberRule
  • Object
show all
Defined in:
app/models/spree_cm_commissioner/webhooks/rules/order_states.rb

Constant Summary collapse

SUPPORTED_EVENTS =
[
  'order.create',
  'order.delete',
  'order.update',
  'order.canceled',
  'order.placed',
  'order.resumed',
  'order.shipped'
].freeze
DEFAULT_STATES =
%w[
  cart
  address
  payment
  complete
  delivery
  awaiting_return
  canceled
  returned
  resumed
].freeze

Instance Method Summary collapse

Instance Method Details

#filter(orders) ⇒ Object



29
30
31
# File 'app/models/spree_cm_commissioner/webhooks/rules/order_states.rb', line 29

def filter(orders)
  orders.where(state: preferred_states)
end

#matches?(webhook_payload_body, _options = {}) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
40
41
42
43
# File 'app/models/spree_cm_commissioner/webhooks/rules/order_states.rb', line 37

def matches?(webhook_payload_body, _options = {})
  payload_body = JSON.parse(webhook_payload_body)

  state = payload_body['data']['attributes']['state']

  preferred_states.include?(state)
end

#supported?(event) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/spree_cm_commissioner/webhooks/rules/order_states.rb', line 33

def supported?(event)
  SUPPORTED_EVENTS.include?(event)
end