Class: Attestor::Policy::Or Private

Inherits:
Node
  • Object
show all
Defined in:
lib/attestor/policy/or.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

OR-concatenation of several policies (branches)

The policy is valid unless all its branches are invalid.

Examples:

first.valid?  # => false
second.valid? # => false

composition = Attestor::Policy::Or.new(first, second)
composition.validate
# => Policy::InvalidError

Instance Method Summary collapse

Methods inherited from Node

each, initialize, new, validate

Methods included from Attestor::Policy

#and, included, #invalid?, new, #not, #or, #valid?, #xor

Methods included from Validations::ClassMethods

#validates, #validators

Methods included from Factory

#and, #not, #or, #xor

Methods included from Validations

included, #invalid

Instance Method Details

#validateundefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Checks whether any policy is valid

Examples:

first.valid?  # => false
second.valid? # => false

composition = Attestor::Policy::Or.new(first, second)
composition.validate
# => Policy::InvalidError

Returns:

  • (undefined)


27
28
29
30
# File 'lib/attestor/policy/or.rb', line 27

def validate
  return if detect(&:valid?)
  super
end