Sha256: b72eb64c9688ce235955b885d8c29a74b6806f67033b13a4684527c40d2a188a
Contents?: true
Size: 597 Bytes
Versions: 15
Compression:
Stored size: 597 Bytes
Contents
module Spree class ShippingCalculator < Calculator belongs_to :calculable, polymorphic: true def compute(package_or_shipment) package = package_or_shipment.respond_to?(:to_package) ? package_or_shipment.to_package : package_or_shipment compute_package package end def compute_package(package) raise(NotImplementedError, 'please use concrete calculator') end def available?(package) true end private def total(content_items) content_items.sum { |item| item.quantity * item.variant.price } end end end
Version data entries
15 entries across 15 versions & 1 rubygems