Sha256: 6c78c1897f12d6c960d0fe570c2571e3efcd01050b7b3ce1654d730a021d3fe7
Contents?: true
Size: 1.34 KB
Versions: 6
Compression:
Stored size: 1.34 KB
Contents
module Spree # Records the costs of different shipping methods for a shipment and which # method has been selected to deliver the shipment. # class ShippingRate < Spree::Base belongs_to :shipment, class_name: 'Spree::Shipment', touch: true belongs_to :shipping_method, -> { with_deleted }, class_name: 'Spree::ShippingMethod', inverse_of: :shipping_rates has_many :taxes, class_name: "Spree::ShippingRateTax", foreign_key: "shipping_rate_id", dependent: :destroy delegate :order, :currency, to: :shipment delegate :name, :tax_category, :tax_category_id, to: :shipping_method delegate :code, to: :shipping_method, prefix: true alias_attribute :amount, :cost alias_method :discounted_amount, :amount extend DisplayMoney money_methods :amount def display_price price = display_amount.to_s return price if taxes.empty? || amount == 0 tax_explanations = taxes.map(&:label).join(tax_label_separator) Spree.t :display_price_with_explanations, scope: 'shipping_rate.display_price', price: price, explanations: tax_explanations end alias_method :display_cost, :display_price private def tax_label_separator Spree.t :tax_label_separator, scope: 'shipping_rate.display_price' end end end
Version data entries
6 entries across 6 versions & 1 rubygems