Class: Spree::Cart::RemoveOutOfStockItems
- Inherits:
-
Object
- Object
- Spree::Cart::RemoveOutOfStockItems
- Includes:
- ServiceModule::Base
- Defined in:
- app/services/spree/cart/remove_out_of_stock_items.rb
Instance Method Summary collapse
Methods included from ServiceModule::Base
Instance Method Details
#call(order:) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/services/spree/cart/remove_out_of_stock_items.rb', line 6 def call(order:) = [] ActiveRecord::Base.transaction do line_items(order).each do |line_item| cart_remove_line_item_service.call(order: order, line_item: line_item) if !valid_status?(line_item) || !stock_available?(line_item) end end if .any? # If any line item was removed, reload the order success([order.reload, ]) else success([order, ]) end end |