Sha256: c0612b87aec4c80010195548f6e00e72c88d34ed89a2103dee502825a35d3fe0

Contents?: true

Size: 769 Bytes

Versions: 10

Compression:

Stored size: 769 Bytes

Contents

module Spree
  module Orders
    class FindCurrent
      def execute(user:, store:, **params)
        params = params.merge(store_id: store.id)

        order = incomplete_orders.find_by(params)

        return order unless order.nil?
        return if user.nil?

        incomplete_orders.order(created_at: :desc).find_by(store: store, user: user, currency: params[:currency])
      end

      private

      def incomplete_orders
        Spree::Order.incomplete.not_canceled.includes(scope_includes)
      end

      def scope_includes
        {
          line_items: [
            variant: [
              :images,
              option_values: :option_type,
              product: :product_properties,
            ]
          ]
        }
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spree_core-4.2.7 app/finders/spree/orders/find_current.rb
spree_core-4.2.6 app/finders/spree/orders/find_current.rb
spree_core-4.2.5 app/finders/spree/orders/find_current.rb
spree_core-4.2.4 app/finders/spree/orders/find_current.rb
spree_core-4.2.3.1 app/finders/spree/orders/find_current.rb
spree_core-4.2.3 app/finders/spree/orders/find_current.rb
spree_core-4.2.2 app/finders/spree/orders/find_current.rb
spree_core-4.2.1 app/finders/spree/orders/find_current.rb
spree_core-4.2.0 app/finders/spree/orders/find_current.rb
spree_core-4.2.0.rc5 app/finders/spree/orders/find_current.rb