Sha256: d434d363f3ea60fc3b8e7d055a4c8b687e7d490e7f2b11837f70dedf4857f75a

Contents?: true

Size: 733 Bytes

Versions: 14

Compression:

Stored size: 733 Bytes

Contents

module Spree
  class Promotion
    module Rules
      class Store < PromotionRule
        has_and_belongs_to_many :stores, :class_name => 'Spree::Store', :join_table => 'spree_promotion_rules_stores', :foreign_key => 'promotion_rule_id'

        def applicable?(promotable)
          promotable.is_a?(Spree::Order)
        end

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

        def applicable?(promotable)
          promotable.is_a?(Spree::Order)
        end

        def store_ids_string
          store_ids.join(',')
        end

        def store_ids_string=(s)
          self.store_ids = s.to_s.split(',').map(&:strip)
        end

      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
solidus_multi_domain-1.5.0 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.4.3 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.4.2 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.4.1 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.4.0 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.3.0 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.2.0 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.1.3 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.1.2 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.1.1 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.0.3 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.1.0 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.0.1 app/models/spree/promotion/rules/store.rb
solidus_multi_domain-1.0.0 app/models/spree/promotion/rules/store.rb