Module: Spree::Shipment::CustomEvents
- Extended by:
- ActiveSupport::Concern
- Included in:
- Spree::Shipment
- Defined in:
- app/models/spree/shipment/custom_events.rb
Overview
Publishes custom shipment events beyond basic lifecycle events.
Events:
-
shipment.shipped: Shipment was shipped
-
order.shipped: All order shipments are shipped
-
shipment.canceled: Shipment was canceled
-
shipment.resumed: Shipment was resumed from canceled state
NOTE: These methods are called from the state machine’s after_transition callbacks defined in the Shipment model, not via ActiveRecord callbacks.
Instance Method Summary collapse
- #publish_shipment_canceled_event ⇒ Object
- #publish_shipment_resumed_event ⇒ Object
- #publish_shipment_shipped_event ⇒ Object
Instance Method Details
#publish_shipment_canceled_event ⇒ Object
28 29 30 31 32 |
# File 'app/models/spree/shipment/custom_events.rb', line 28 def publish_shipment_canceled_event return unless Spree::Events.enabled? publish_event('shipment.canceled') end |
#publish_shipment_resumed_event ⇒ Object
34 35 36 37 38 |
# File 'app/models/spree/shipment/custom_events.rb', line 34 def publish_shipment_resumed_event return unless Spree::Events.enabled? publish_event('shipment.resumed') end |
#publish_shipment_shipped_event ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'app/models/spree/shipment/custom_events.rb', line 19 def publish_shipment_shipped_event return unless Spree::Events.enabled? publish_event('shipment.shipped') # Force reload of shipments association to see the new state order.shipments.reset publish_order_shipped_event if order.fully_shipped? end |