Module: SpreeCmCommissioner::Checkout::AdvanceDecorator

Defined in:
app/services/spree_cm_commissioner/checkout/advance_decorator.rb

Instance Method Summary collapse

Instance Method Details

#call(order:) ⇒ Object

override to capture seats error only, other errors is fine we can return success with latest order object instead of throw error. seat is special case because we want to return error message.



6
7
8
9
10
11
12
13
14
# File 'app/services/spree_cm_commissioner/checkout/advance_decorator.rb', line 6

def call(order:)
  Spree::Dependencies.checkout_next_service.constantize.call(order: order) until cannot_make_transition?(order)

  if order.errors[:seats].present?
    failure(order)
  else
    success(order)
  end
end