Class: Spree::Cart::RemoveItem

Inherits:
Object
  • Object
show all
Includes:
ServiceModule::Base
Defined in:
app/services/spree/cart/remove_item.rb

Instance Method Summary collapse

Methods included from ServiceModule::Base

prepended

Instance Method Details

#call(order:, variant:, quantity: nil, options: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/services/spree/cart/remove_item.rb', line 6

def call(order:, variant:, quantity: nil, options: nil)
  options ||= {}
  quantity ||= 1

  ActiveRecord::Base.transaction do
    line_item = remove_from_line_item(order: order, variant: variant, quantity: quantity, options: options)
    Spree::Dependencies.cart_recalculate_service.constantize.call(line_item: line_item,
                                                                  order: order,
                                                                  options: options)
    success(line_item)
  end
end