Class: Spree::LineItems::FindByVariant

Inherits:
Object
  • Object
show all
Defined in:
app/finders/spree/line_items/find_by_variant.rb

Instance Method Summary collapse

Instance Method Details

#execute(order:, variant:, options: {}) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'app/finders/spree/line_items/find_by_variant.rb', line 4

def execute(order:, variant:, options: {})
  line_item = order.line_items.loaded? ? order.line_items.detect { |li| li.variant_id == variant.id } : order.line_items.find_by(variant_id: variant.id)

  if line_item
    Spree::Dependencies.cart_compare_line_items_service.constantize.call(order: order, line_item: line_item, options: options).value
  end

  line_item
end