Class: Spree::Calculator::PercentOnLineItem
Class Method Summary
collapse
Instance Method Summary
collapse
#available?, calculators, #description, #to_s
Class Method Details
.description ⇒ Object
7
8
9
|
# File 'app/models/spree/calculator/percent_on_line_item.rb', line 7
def self.description
Spree.t(:percent_per_item)
end
|
Instance Method Details
#compute(object) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'app/models/spree/calculator/percent_on_line_item.rb', line 11
def compute(object)
return 0 if preferred_apply_only_on_full_priced_items && object.variant.compare_at_amount_in(object.currency).present?
computed_amount = (object.amount * preferred_percent / 100).round(2)
if computed_amount > object.amount
object.amount
else
computed_amount
end
end
|