Class: SpreeCmCommissioner::OrderHolds::Reserve
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::OrderHolds::Reserve
- Extended by:
- ServiceModuleThrowable
- Includes:
- Spree::ServiceModule::Base
- Defined in:
- app/services/spree_cm_commissioner/order_holds/reserve.rb
Overview
Orchestrates finalizing holds when order completes: reserves seat blocks and converts inventory hold from hold to final stock deduction.
Constant Summary collapse
- UnableToReserveSeatsError =
Class.new(StandardError)
- UnableToConvertInventoryError =
Class.new(StandardError)
Instance Method Summary collapse
Methods included from ServiceModuleThrowable
Instance Method Details
#call(order:) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'app/services/spree_cm_commissioner/order_holds/reserve.rb', line 11 def call(order:) reserve_seat_blocks!(order) convert_inventory_hold!(order) success(order) rescue StandardError => e error = { error_type: e.class.name.demodulize, order_id: order.id, message: e. } CmAppLogger.error(label: "#{self.class.name}#call failed", data: error) failure(nil, error) end |