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
# 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" unless options[:unit_price].present?
  super(line_item_extractor, options)
end

Instance Method Details

#calculate(discount) ⇒ Object



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

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