Class: SpreeCmCommissioner::Webhooks::Rules::OrderStates
- Inherits:
-
SubscriberRule
- Object
- Spree::Base
- Base
- SubscriberRule
- SpreeCmCommissioner::Webhooks::Rules::OrderStates
- 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
- #filter(orders) ⇒ Object
- #matches?(webhook_payload_body, _options = {}) ⇒ Boolean
- #supported?(event) ⇒ Boolean
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
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, = {}) payload_body = JSON.parse(webhook_payload_body) state = payload_body['data']['attributes']['state'] preferred_states.include?(state) end |
#supported?(event) ⇒ 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 |