Sha256: 1a5ec9e3a7c78c58ed8113aaacfba058f03dc7d33fdaa6f50bc56392a6339d55

Contents?: true

Size: 706 Bytes

Versions: 4

Compression:

Stored size: 706 Bytes

Contents

# encoding: utf-8

module Attestor

  module Policy

    # OR-concatenation of several policies (branches)
    #
    # The policy is valid unless all its branches are invalid.
    #
    # @example (see #validate)
    #
    # @api private
    class Or < Node

      # Checks whether any policy is valid
      #
      # @example
      #   first.valid?  # => false
      #   second.valid? # => false
      #
      #   composition = Attestor::Policy::Or.new(first, second)
      #   composition.validate
      #   # => Policy::InvalidError
      #
      # @return [undefined]
      def validate
        return if any_valid?
        super
      end

    end # class Or

  end # module Base

end # module Policy

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
attestor-0.3.0 lib/attestor/policy/or.rb
attestor-0.2.0 lib/attestor/policy/or.rb
attestor-0.1.0 lib/attestor/policy/or.rb
attestor-0.0.1 lib/attestor/policy/or.rb