Skip to content

Commit 2bf924b

Browse files
Noah-Silveraforkata
authored andcommitted
WIP dealing with additional persistent in order_adjuster related classes
1 parent 1897dc0 commit 2bf924b

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

promotions/app/models/solidus_promotions/benefits/create_discounted_item.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# frozen_string_literal: true
22

3+
# We have gone through this file and identified locations that do persistence
4+
35
module SolidusPromotions
46
module Benefits
57
class CreateDiscountedItem < Benefit
@@ -16,6 +18,7 @@ def perform(order)
1618

1719
def remove_from(order)
1820
line_item = find_item(order)
21+
# The enemy
1922
order.line_items.destroy(line_item)
2023
end
2124

@@ -25,6 +28,7 @@ def find_item(order)
2528
order.line_items.detect { |line_item| line_item.managed_by_order_benefit == self }
2629
end
2730

31+
# The enemy - create_item
2832
def create_item(order)
2933
order.line_items.create!(quantity: determine_item_quantity(order), variant: variant, managed_by_order_benefit: self)
3034
end

promotions/app/models/solidus_promotions/order_adjuster.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# frozen_string_literal: true
22

3+
# We have gone through this file and identified locations that do persistence
34
module SolidusPromotions
45
class OrderAdjuster
56
attr_reader :order, :promotions, :dry_run
@@ -15,8 +16,10 @@ def call(persist: true)
1516

1617
return order unless SolidusPromotions::Promotion.order_activatable?(order)
1718

19+
# TODO: - enemy identified
1820
discounted_order = DiscountOrder.new(order, promotions, dry_run: dry_run).call
1921

22+
# TODO: - enemy identified
2023
PersistDiscountedOrder.new(discounted_order).call unless dry_run
2124

2225
order.reset_current_discounts

promotions/app/models/solidus_promotions/order_adjuster/discount_order.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# frozen_string_literal: true
22

3+
# We have gone through this file and identified locations that do persistence
4+
35
module SolidusPromotions
46
class OrderAdjuster
57
class DiscountOrder
@@ -34,6 +36,7 @@ def call
3436

3537
def perform_order_benefits(lane_benefits, lane)
3638
lane_benefits.select { |benefit| benefit.level == :order }.each do |benefit|
39+
# TODO: - the enemy
3740
benefit.perform(order)
3841
end
3942

@@ -45,6 +48,7 @@ def perform_order_benefits(lane_benefits, lane)
4548
end
4649

4750
ineligible_line_items.each do |line_item|
51+
# TODO: - the enemy
4852
line_item.managed_by_order_benefit.remove_from(order)
4953
end
5054
end

0 commit comments

Comments
 (0)