Sha256: b31ba621e469f66379b902b3a02a0744d6424bf6276733035c6ad9ed2d1ef292

Contents?: true

Size: 1.12 KB

Versions: 8

Compression:

Stored size: 1.12 KB

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,
                                              ReturnItem::EligibilityValidator::InventoryShipped,
                                              ReturnItem::EligibilityValidator::NoReimbursements
                                            ]

    def eligible_for_return?
      validators.all?(&:eligible_for_return?)
    end

    def requires_manual_intervention?
      validators.any?(&: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-3.6.6 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.5 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.4 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.3 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.2 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.1 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.0 app/models/spree/return_item/eligibility_validator/default.rb
spree_core-3.6.0.rc1 app/models/spree/return_item/eligibility_validator/default.rb