diff --git a/app/models/spree/calculator/per_item_decorator.rb b/app/models/spree/calculator/per_item_decorator.rb index 1c5369b48a..e385ad8bf8 100644 --- a/app/models/spree/calculator/per_item_decorator.rb +++ b/app/models/spree/calculator/per_item_decorator.rb @@ -13,14 +13,15 @@ module Spree def compute(object = nil) return 0 if object.nil? - preferred_amount * line_items_for(object).reduce(0) do |sum, value| - value_to_add = if matching_products.blank? || matching_products.include?(value.product) - value.quantity + number_of_line_items = line_items_for(object).reduce(0) do |sum, line_item| + value_to_add = if matching_products.blank? || matching_products.include?(line_item.product) + line_item.quantity else 0 end sum + value_to_add end + preferred_amount * number_of_line_items end end end