Class: SolidusPromotions::Calculators::PercentWithCap

Inherits:
Percent
  • Object
show all
Defined in:
app/models/solidus_promotions/calculators/percent_with_cap.rb

Instance Method Summary collapse

Methods included from PromotionCalculator

#description

Instance Method Details

#compute(line_item) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'app/models/solidus_promotions/calculators/percent_with_cap.rb', line 8

def compute(line_item)
  percent_discount = super
  max_discount = DistributedAmount.new(
    calculable:,
    preferred_amount: preferred_max_amount
  ).compute_line_item(line_item)

  [percent_discount, max_discount].min
end