Sha256: 65114486d9649f6cfbd6e59bd08efe47c2ae518082e707285d4d706457aa5d74

Contents?: true

Size: 592 Bytes

Versions: 5

Compression:

Stored size: 592 Bytes

Contents

# frozen_string_literal: true

module SolidusPromotions
  module Conditions
    class Store < Condition
      include OrderLevelCondition

      has_many :condition_stores, class_name: "SolidusPromotions::ConditionStore",
        foreign_key: :condition_id,
        dependent: :destroy
      has_many :stores, through: :condition_stores, class_name: "Spree::Store"

      def preload_relations
        [:stores]
      end

      def eligible?(order, _options = {})
        stores.none? || stores.include?(order.store)
      end

      def updateable?
        true
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_promotions-4.5.1 app/models/solidus_promotions/conditions/store.rb
solidus_promotions-4.5.0 app/models/solidus_promotions/conditions/store.rb
solidus_promotions-4.4.2 app/models/solidus_promotions/conditions/store.rb
solidus_promotions-4.4.1 app/models/solidus_promotions/conditions/store.rb
solidus_promotions-4.4.0 app/models/solidus_promotions/conditions/store.rb