foodsoft/app/models/concerns/price_calculation.rb

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