Sha256: 107f457b2d84b325b48e2f4479d58b8241578f0e699cc47906fd0cd53adf9003
Contents?: true
Size: 756 Bytes
Versions: 3
Compression:
Stored size: 756 Bytes
Contents
module Spree class Promotion module Actions class FreeShipping < Spree::PromotionAction include Spree::AdjustmentSource def perform(payload = {}) order = payload[:order] create_unique_adjustments(order, order.shipments) end def compute_amount(shipment) shipment.cost * -1 end # we need to persist 0 amount adjustment def create_adjustment(order, adjustable, included = false) amount = compute_amount(adjustable) adjustments.new( adjustable: adjustable, amount: amount, included: included, label: label, order: order ).save end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems