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