Sha256: cc73fca1395e30fec9a0f3a87c7a2425cf11d17e0f0bbbfeaa37b5a16505c2e8

Contents?: true

Size: 490 Bytes

Versions: 133

Compression:

Stored size: 490 Bytes

Contents

# frozen_string_literal: true

module Spree
  module PromotionHandler
    class Page
      attr_reader :order, :path

      def initialize(order, path)
        @order = order
        @path = path.gsub(/\A\//, '')
      end

      def activate
        if promotion && promotion.eligible?(order)
          promotion.activate(order: order)
        end
      end

      private

      def promotion
        @promotion ||= Spree::Promotion.active.find_by(path: path)
      end
    end
  end
end

Version data entries

133 entries across 133 versions & 2 rubygems

Version Path
solidus_core-4.3.6 app/models/spree/promotion_handler/page.rb
solidus_core-4.2.5 app/models/spree/promotion_handler/page.rb
solidus_core-4.1.6 app/models/spree/promotion_handler/page.rb
solidus_core-4.3.4 app/models/spree/promotion_handler/page.rb
solidus_core-4.2.4 app/models/spree/promotion_handler/page.rb
solidus_core-4.1.5 app/models/spree/promotion_handler/page.rb
solidus_core-4.3.3 app/models/spree/promotion_handler/page.rb
solidus_core-4.3.2 app/models/spree/promotion_handler/page.rb
solidus_core-4.1.4 app/models/spree/promotion_handler/page.rb
solidus_core-4.3.1 app/models/spree/promotion_handler/page.rb
solidus_core-4.3.0 app/models/spree/promotion_handler/page.rb
solidus_core-4.2.3 app/models/spree/promotion_handler/page.rb
solidus_core-4.1.3 app/models/spree/promotion_handler/page.rb
solidus_core-4.0.4 app/models/spree/promotion_handler/page.rb
solidus_core-3.4.6 app/models/spree/promotion_handler/page.rb
solidus_core-4.0.3 app/models/spree/promotion_handler/page.rb
solidus_core-4.1.2 app/models/spree/promotion_handler/page.rb
solidus_core-4.2.2 app/models/spree/promotion_handler/page.rb
solidus_core-3.4.5 app/models/spree/promotion_handler/page.rb
solidus_core-4.2.1 app/models/spree/promotion_handler/page.rb