Sha256: f65a015369a9c07926da361dfeabf6cf52cbbaa84014ba51f5a626e38085469d

Contents?: true

Size: 616 Bytes

Versions: 104

Compression:

Stored size: 616 Bytes

Contents

module Spree
  class Promotion
    module Rules
      class OneUsePerUser < PromotionRule
        def applicable?(promotable)
          promotable.is_a?(Spree::Order)
        end

        def eligible?(order, options = {})
          if order.user.present?
            if promotion.used_by?(order.user, [order])
              eligibility_errors.add(:base, eligibility_error_message(:limit_once_per_user))
            end
          else
            eligibility_errors.add(:base, eligibility_error_message(:no_user_specified))
          end

          eligibility_errors.empty?
        end
      end
    end
  end
end

Version data entries

104 entries across 104 versions & 3 rubygems

Version Path
goca-spree-core-3.1.14.rails.5.0.1 app/models/spree/promotion/rules/one_use_per_user.rb
goca-spree-core-3.1.14.rails.5.0 app/models/spree/promotion/rules/one_use_per_user.rb
goca-spree-core-3.1.15.rails.5.0 app/models/spree/promotion/rules/one_use_per_user.rb
goca-spree-core-3.1.15.pre.rails.pre.5.0 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.2.9 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.1.14 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.3.6 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.2.8 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.1.13 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.3.5 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.3.4 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.2.7 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.1.12 app/models/spree/promotion/rules/one_use_per_user.rb
solidus_core-1.2.3 app/models/spree/promotion/rules/one_use_per_user.rb
solidus_core-1.1.4 app/models/spree/promotion/rules/one_use_per_user.rb
solidus_core-1.0.7 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.3.3 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.2.6 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.1.11 app/models/spree/promotion/rules/one_use_per_user.rb
spree_core-3.1.10 app/models/spree/promotion/rules/one_use_per_user.rb