Sha256: d57ebc1a410d0a90ecd6c4df46f496a1a2048dcb330aca3a2b90295ac7d33989
Contents?: true
Size: 975 Bytes
Versions: 26
Compression:
Stored size: 975 Bytes
Contents
module Spree module DefaultPrice extend ActiveSupport::Concern included do has_one :default_price, -> { with_deleted.where(currency: Spree::Store.default.default_currency) }, class_name: 'Spree::Price', dependent: :destroy delegate :display_price, :display_amount, :price, :currency, :price=, :price_including_vat_for, :currency=, :display_compare_at_price, :compare_at_price, :compare_at_price=, to: :find_or_build_default_price after_save :save_default_price def has_default_price? !default_price.nil? end def find_or_build_default_price default_price || build_default_price end private def default_price_changed? default_price && (default_price.changed? || default_price.new_record?) end def save_default_price default_price.save if default_price_changed? end end end end
Version data entries
26 entries across 26 versions & 1 rubygems