Sha256: 60b2616e2a53922d9fd6dece3d8fa11d32a1b493decd59ec785e0ca71166ec8e

Contents?: true

Size: 679 Bytes

Versions: 4

Compression:

Stored size: 679 Bytes

Contents

# frozen_string_literal: true

module SolidusFriendlyPromotions
  module AdjustmentDecorator
    def self.prepended(base)
      base.scope :friendly_promotion, -> { where(source_type: "SolidusFriendlyPromotions::Benefit") }
      base.scope :promotion, -> { where(source_type: ["SolidusFriendlyPromotions::Benefit", "Spree::PromotionAction"]) }
    end

    def friendly_promotion?
      source_type == "SolidusFriendlyPromotions::Benefit"
    end

    def promotion?
      super || source_type == "SolidusFriendlyPromotions::Benefit"
    end

    private

    def require_promotion_code?
      !friendly_promotion? && super
    end

    Spree::Adjustment.prepend self
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
solidus_friendly_promotions-1.9.3 app/decorators/models/solidus_friendly_promotions/adjustment_decorator.rb
solidus_friendly_promotions-1.9.2 app/decorators/models/solidus_friendly_promotions/adjustment_decorator.rb
solidus_friendly_promotions-1.9.1 app/decorators/models/solidus_friendly_promotions/adjustment_decorator.rb
solidus_friendly_promotions-1.9.0 app/decorators/models/solidus_friendly_promotions/adjustment_decorator.rb