Class: Coupon::Calculator::ForceMsrpUnitPrice

Inherits:
Base
  • Object
show all
Defined in:
app/services/coupon/calculator/force_msrp_unit_price.rb

Overview

Force Discount Unit Price sets it to a specific amount, regardless
of trade discount

Instance Method Summary collapse

Constructor Details

#initialize(line_item_extractor, options = {}) ⇒ ForceMsrpUnitPrice

Returns a new instance of ForceMsrpUnitPrice.



5
6
7
8
9
# File 'app/services/coupon/calculator/force_msrp_unit_price.rb', line 5

def initialize(line_item_extractor, options = {})
  raise ":unit_price option must be specified" if options[:unit_price].blank?

  super
end

Instance Method Details

#calculate(discount) ⇒ Object



11
12
13
14
15
16
17
# File 'app/services/coupon/calculator/force_msrp_unit_price.rb', line 11

def calculate(discount)
  @line_item_extractor.discountable_line_items.each do |li|
    li.price = @options[:unit_price]
    discount.notes ||= ""
    discount.notes += "Unit price set to $#{@options[:unit_price]}. "
  end
end