36 lines
793 B
Ruby
36 lines
793 B
Ruby
module PriceCalculation
|
|
extend ActiveSupport::Concern
|
|
|
|
# Gross price = net price + deposit + tax.
|
|
# @return [Number] Gross price.
|
|
def gross_price
|
|
add_percent(price + deposit, tax)
|
|
end
|
|
|
|
def gross_price_without_deposit
|
|
add_percent(price, tax)
|
|
end
|
|
|
|
def gross_deposit_price
|
|
add_percent(deposit, tax)
|
|
end
|
|
|
|
# @return [Number] Price for the foodcoop-member.
|
|
def fc_price
|
|
add_percent(gross_price, FoodsoftConfig[:price_markup].to_i)
|
|
end
|
|
|
|
def fc_price_without_deposit
|
|
add_percent(gross_price_without_deposit, FoodsoftConfig[:price_markup].to_i)
|
|
end
|
|
|
|
def fc_deposit_price
|
|
add_percent(gross_deposit_price, FoodsoftConfig[:price_markup].to_i)
|
|
end
|
|
|
|
private
|
|
|
|
def add_percent(value, percent)
|
|
(value * ((percent * 0.01) + 1)).round(2)
|
|
end
|
|
end
|