Sha256: 4a6534e1b1f9f5bef51e39621ef21480f41a9dbba34ec1756f5471cf7ad8a8a0

Contents?: true

Size: 962 Bytes

Versions: 8

Compression:

Stored size: 962 Bytes

Contents

module Spree
  class ReturnItem::EligibilityValidator::Default < Spree::ReturnItem::EligibilityValidator::BaseValidator
    class_attribute :permitted_eligibility_validators
    self.permitted_eligibility_validators = [
                                              ReturnItem::EligibilityValidator::OrderCompleted,
                                              ReturnItem::EligibilityValidator::TimeSincePurchase,
                                              ReturnItem::EligibilityValidator::RMARequired,
                                            ]

    def eligible_for_return?
      validators.all? {|v| v.eligible_for_return? }
    end

    def requires_manual_intervention?
      validators.any? {|v| v.requires_manual_intervention? }
    end

    def errors
      validators.map(&:errors).reduce({}, :merge)
    end

    private

    def validators
      @validators ||= permitted_eligibility_validators.map{|v| v.new(@return_item) }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
spree_core-2.4.10 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.9 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.8 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.7 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.6 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.5 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.4 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.3 app/models/spree/return_item/eligibility_validator/default.rb