Class: SolidusPromotions::Benefits::AdvertisePrice

Inherits:
SolidusPromotions::Benefit show all
Defined in:
app/models/solidus_promotions/benefits/advertise_price.rb

Instance Attribute Summary

Attributes inherited from SolidusPromotions::Benefit

#adjustments, #conditions, #original_promotion_action, #promotion, #shipping_rate_discounts

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from SolidusPromotions::Benefit

#adjustment_label, #applicable_line_items, #available_calculators, #available_conditions, #can_discount?, #compute_amount, #discount, #eligible_by_applicable_conditions?, inherited, #level, of_type, #possible_conditions, #preload_relations, #to_partial_path

Class Method Details

.applicable_conditionsObject



6
7
8
# File 'app/models/solidus_promotions/benefits/advertise_price.rb', line 6

def self.applicable_conditions
  Condition.applicable_to([Spree::Order, Spree::Price])
end

Instance Method Details

#discount_price(price) ⇒ Object



10
11
12
13
14
15
# File 'app/models/solidus_promotions/benefits/advertise_price.rb', line 10

def discount_price(price, ...)
  discount = find_discount(price) || build_discount
  discount.amount = compute_amount(price, ...)
  discount.label = adjustment_label(price)
  discount
end