Sha256: e9c7dda728108b31eb44c8ceb42dc38b63890aa8d090f199b950971a0970e7aa
Contents?: true
Size: 671 Bytes
Versions: 111
Compression:
Stored size: 671 Bytes
Contents
# frozen_string_literal: true require_dependency 'spree/calculator' require_dependency 'spree/shipping_calculator' module Spree module Calculator::Shipping class FlatPercentItemTotal < ShippingCalculator preference :flat_percent, :decimal, default: 0 def compute_package(package) value = compute_from_price(total(package.contents)) preferred_currency = package.order.currency currency_exponent = ::Money::Currency.find(preferred_currency).exponent value.round(currency_exponent) end def compute_from_price(price) price * BigDecimal(preferred_flat_percent.to_s) / 100.0 end end end end
Version data entries
111 entries across 111 versions & 1 rubygems