diff --git a/promotions/app/models/concerns/solidus_promotions/benefits/line_item_benefit.rb b/promotions/app/models/concerns/solidus_promotions/benefits/line_item_benefit.rb index 248e558d336..7aeb9907851 100644 --- a/promotions/app/models/concerns/solidus_promotions/benefits/line_item_benefit.rb +++ b/promotions/app/models/concerns/solidus_promotions/benefits/line_item_benefit.rb @@ -10,6 +10,7 @@ def can_discount?(object) def level :line_item end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/concerns/solidus_promotions/benefits/order_benefit.rb b/promotions/app/models/concerns/solidus_promotions/benefits/order_benefit.rb index daad550c9d4..a360f269fa0 100644 --- a/promotions/app/models/concerns/solidus_promotions/benefits/order_benefit.rb +++ b/promotions/app/models/concerns/solidus_promotions/benefits/order_benefit.rb @@ -10,6 +10,7 @@ def can_discount?(_) def level :order end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/concerns/solidus_promotions/benefits/shipment_benefit.rb b/promotions/app/models/concerns/solidus_promotions/benefits/shipment_benefit.rb index 86e932ab041..665f50fdfe2 100644 --- a/promotions/app/models/concerns/solidus_promotions/benefits/shipment_benefit.rb +++ b/promotions/app/models/concerns/solidus_promotions/benefits/shipment_benefit.rb @@ -10,6 +10,7 @@ def can_discount?(object) def level :shipment end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/concerns/solidus_promotions/conditions/line_item_applicable_order_level_condition.rb b/promotions/app/models/concerns/solidus_promotions/conditions/line_item_applicable_order_level_condition.rb index 229a3a73d83..fca9d7df8bf 100644 --- a/promotions/app/models/concerns/solidus_promotions/conditions/line_item_applicable_order_level_condition.rb +++ b/promotions/app/models/concerns/solidus_promotions/conditions/line_item_applicable_order_level_condition.rb @@ -18,6 +18,7 @@ def eligible?(promotable) def level :order end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/concerns/solidus_promotions/conditions/line_item_level_condition.rb b/promotions/app/models/concerns/solidus_promotions/conditions/line_item_level_condition.rb index de5f4063910..355fab06059 100644 --- a/promotions/app/models/concerns/solidus_promotions/conditions/line_item_level_condition.rb +++ b/promotions/app/models/concerns/solidus_promotions/conditions/line_item_level_condition.rb @@ -10,6 +10,7 @@ def applicable?(promotable) def level :line_item end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/concerns/solidus_promotions/conditions/order_level_condition.rb b/promotions/app/models/concerns/solidus_promotions/conditions/order_level_condition.rb index 7f84cd874a7..26212f5efb9 100644 --- a/promotions/app/models/concerns/solidus_promotions/conditions/order_level_condition.rb +++ b/promotions/app/models/concerns/solidus_promotions/conditions/order_level_condition.rb @@ -10,6 +10,7 @@ def applicable?(promotable) def level :order end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/concerns/solidus_promotions/conditions/shipment_level_condition.rb b/promotions/app/models/concerns/solidus_promotions/conditions/shipment_level_condition.rb index 87a7dc049fb..aa51af273e3 100644 --- a/promotions/app/models/concerns/solidus_promotions/conditions/shipment_level_condition.rb +++ b/promotions/app/models/concerns/solidus_promotions/conditions/shipment_level_condition.rb @@ -10,6 +10,7 @@ def applicable?(promotable) def level :shipment end + deprecate :level, deprecator: Spree.deprecator end end end diff --git a/promotions/app/models/solidus_promotions/benefit.rb b/promotions/app/models/solidus_promotions/benefit.rb index 8d21da710ec..0b7b33d42c9 100644 --- a/promotions/app/models/solidus_promotions/benefit.rb +++ b/promotions/app/models/solidus_promotions/benefit.rb @@ -154,6 +154,7 @@ def level raise NotImplementedError, "Please implement the correct interface, or include one of the `SolidusPromotions::Benefits::OrderBenefit`, " \ "`SolidusPromotions::Benefits::LineItemBenefit` or `SolidusPromotions::Benefits::ShipmentBenefit` modules" end + deprecate :level, deprecator: Spree.deprecator # Returns the set of condition classes that can still be attached to this benefit. # Already-persisted conditions are excluded. diff --git a/promotions/app/models/solidus_promotions/condition.rb b/promotions/app/models/solidus_promotions/condition.rb index b1803de1605..c9093db060f 100644 --- a/promotions/app/models/solidus_promotions/condition.rb +++ b/promotions/app/models/solidus_promotions/condition.rb @@ -128,6 +128,7 @@ def eligible?(_promotable, _options = {}) def level raise NotImplementedError, "level should be implemented in a sub-class of SolidusPromotions::Condition" end + deprecate :level, deprecator: Spree.deprecator # Returns an errors object for tracking eligibility failures. # diff --git a/promotions/app/models/solidus_promotions/order_adjuster/discount_order.rb b/promotions/app/models/solidus_promotions/order_adjuster/discount_order.rb index bf234b3c1a5..5b54ea75b9c 100644 --- a/promotions/app/models/solidus_promotions/order_adjuster/discount_order.rb +++ b/promotions/app/models/solidus_promotions/order_adjuster/discount_order.rb @@ -32,7 +32,7 @@ def call private def perform_order_benefits(lane_benefits, lane) - lane_benefits.select { |benefit| benefit.level == :order }.each do |benefit| + lane_benefits.select { |benefit| benefit.respond_to?(:perform) }.each do |benefit| benefit.perform(order) end diff --git a/promotions/spec/models/solidus_promotions/benefit_spec.rb b/promotions/spec/models/solidus_promotions/benefit_spec.rb index d9b09e22739..188e374c488 100644 --- a/promotions/spec/models/solidus_promotions/benefit_spec.rb +++ b/promotions/spec/models/solidus_promotions/benefit_spec.rb @@ -140,7 +140,7 @@ def compute_line_item(_line_item, _options) = 1 end end - describe "#level" do + describe "#level", :silence_deprecations do subject { described_class.new.level } it "raises an error" do diff --git a/promotions/spec/models/solidus_promotions/benefits/adjust_line_item_spec.rb b/promotions/spec/models/solidus_promotions/benefits/adjust_line_item_spec.rb index d3d70b33b4a..56dff539308 100644 --- a/promotions/spec/models/solidus_promotions/benefits/adjust_line_item_spec.rb +++ b/promotions/spec/models/solidus_promotions/benefits/adjust_line_item_spec.rb @@ -17,7 +17,7 @@ it { is_expected.to eq("solidus_promotions/admin/benefit_fields/adjust_line_item") } end - describe "#level" do + describe "#level", :silence_deprecations do subject { described_class.new.level } it { is_expected.to eq(:line_item) } diff --git a/promotions/spec/models/solidus_promotions/benefits/adjust_shipment_spec.rb b/promotions/spec/models/solidus_promotions/benefits/adjust_shipment_spec.rb index 82e5486319e..0b387977fe8 100644 --- a/promotions/spec/models/solidus_promotions/benefits/adjust_shipment_spec.rb +++ b/promotions/spec/models/solidus_promotions/benefits/adjust_shipment_spec.rb @@ -33,7 +33,7 @@ end end - describe "#level" do + describe "#level", :silence_deprecations do subject { described_class.new.level } it { is_expected.to eq(:shipment) } diff --git a/promotions/spec/models/solidus_promotions/conditions/first_order_spec.rb b/promotions/spec/models/solidus_promotions/conditions/first_order_spec.rb index a25e73d2814..bb32b26cb27 100644 --- a/promotions/spec/models/solidus_promotions/conditions/first_order_spec.rb +++ b/promotions/spec/models/solidus_promotions/conditions/first_order_spec.rb @@ -8,7 +8,7 @@ let(:user) { nil } let(:email) { nil } - describe "#level" do + describe "#level", :silence_deprecations do it "is order" do expect(condition.level).to eq(:order) end diff --git a/promotions/spec/models/solidus_promotions/conditions/line_item_product_spec.rb b/promotions/spec/models/solidus_promotions/conditions/line_item_product_spec.rb index 86779ad9e8b..bf0bf30bffc 100644 --- a/promotions/spec/models/solidus_promotions/conditions/line_item_product_spec.rb +++ b/promotions/spec/models/solidus_promotions/conditions/line_item_product_spec.rb @@ -6,7 +6,7 @@ let(:condition) { described_class.new(condition_options) } let(:condition_options) { {} } - describe "#level" do + describe "#level", :silence_deprecations do it "is line_item" do expect(condition.level).to eq(:line_item) end diff --git a/promotions/spec/models/solidus_promotions/conditions/product_spec.rb b/promotions/spec/models/solidus_promotions/conditions/product_spec.rb index 8ed9f5b64b2..f8fa7c9f7d7 100644 --- a/promotions/spec/models/solidus_promotions/conditions/product_spec.rb +++ b/promotions/spec/models/solidus_promotions/conditions/product_spec.rb @@ -8,7 +8,7 @@ it { is_expected.to have_many(:products) } - describe "#level" do + describe "#level", :silence_deprecations do it "is order" do expect(condition.level).to eq(:order) end