Sha256: 0ea64b5364e0810fc83ae49a38efd41f07a8a4e853931526d2182babd1eb9123

Contents?: true

Size: 866 Bytes

Versions: 3

Compression:

Stored size: 866 Bytes

Contents

module Spree
  class ReturnItem::EligibilityValidator::Default < Spree::ReturnItem::EligibilityValidator::BaseValidator
    class_attribute :permitted_eligibility_validators
    self.permitted_eligibility_validators = [
                                              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

3 entries across 3 versions & 1 rubygems

Version Path
spree_core-2.4.2 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.1 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-2.4.0 app/models/spree/return_item/eligibility_validator/default.rb