Sha256: 0d01023bc5f8ae882ebd00ab3a67d8f165b5c3d30682c1ff47d79b7e0d50f710

Contents?: true

Size: 417 Bytes

Versions: 100

Compression:

Stored size: 417 Bytes

Contents

module Spree
  module Checkout
    class Advance
      prepend Spree::ServiceModule::Base

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

      private

      def cannot_make_transition?(order)
        order.confirm? || order.complete? || order.errors.present?
      end
    end
  end
end

Version data entries

100 entries across 100 versions & 1 rubygems

Version Path
spree_core-4.10.1 app/services/spree/checkout/advance.rb
spree_core-4.10.0 app/services/spree/checkout/advance.rb
spree_core-4.9.0 app/services/spree/checkout/advance.rb
spree_core-4.8.3 app/services/spree/checkout/advance.rb
spree_core-4.8.2 app/services/spree/checkout/advance.rb
spree_core-4.7.3 app/services/spree/checkout/advance.rb
spree_core-4.6.6 app/services/spree/checkout/advance.rb
spree_core-4.5.5 app/services/spree/checkout/advance.rb
spree_core-4.0.9 app/services/spree/checkout/advance.rb
spree_core-4.1.15 app/services/spree/checkout/advance.rb
spree_core-4.2.7 app/services/spree/checkout/advance.rb
spree_core-4.3.3 app/services/spree/checkout/advance.rb
spree_core-4.4.1 app/services/spree/checkout/advance.rb
spree_core-4.5.4 app/services/spree/checkout/advance.rb
spree_core-4.6.5 app/services/spree/checkout/advance.rb
spree_core-4.7.2 app/services/spree/checkout/advance.rb
spree_core-4.7.1 app/services/spree/checkout/advance.rb
spree_core-4.6.4 app/services/spree/checkout/advance.rb
spree_core-4.7.0 app/services/spree/checkout/advance.rb
spree_core-4.6.3 app/services/spree/checkout/advance.rb