class Returnly::Discounts::LineItem
Attributes
adjustment[R]
order[R]
Public Class Methods
new(order, adjustment)
click to toggle source
# File lib/returnly/discounts/line_item.rb, line 6 def initialize(order, adjustment) @adjustment = adjustment @order = order end
Public Instance Methods
discount_amount(line_item, units = 0)
click to toggle source
# File lib/returnly/discounts/line_item.rb, line 11 def discount_amount(line_item, units = 0) return 0.0 if units <= 0 return 0.0 if adjustment.adjustable != line_item units = line_item.quantity if units > line_item.quantity adjustment.amount * weight_of(line_item, units.to_d) end
Private Instance Methods
weight_of(line_item, units)
click to toggle source
# File lib/returnly/discounts/line_item.rb, line 21 def weight_of(line_item, units) (units / line_item.quantity).round(2, :down) end