Sha256: 45f839759907daed4f03b9de4f799f730e9fb58625f6230059b2b975b606d4bf

Contents?: true

Size: 933 Bytes

Versions: 2

Compression:

Stored size: 933 Bytes

Contents

module Veritas
  module Logic
    class Predicate

      # A mixin for predicates matching an enumerable
      module Enumerable

        # Return the method to test the enumerable with
        #
        # @param [#cover?, #include?] enumerable
        #
        # @return [Symbol]
        #
        # @api private
        def self.compare_method(enumerable)
          enumerable.respond_to?(:cover?) ? :cover? : :include?
        end

        # Initialize an Enumerable predicate
        #
        # @param [Object] left
        #   the attribute or object to test for in the Enumerable
        # @param [Enumerable] right
        #   the enumerable to test
        #
        # @return [undefined]
        #
        # @api private
        def initialize(left, right)
          super(left, Immutable.freeze_object(right))
        end

      end # module Enumerable
    end # class Predicate
  end # module Logic
end # module Veritas

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
veritas-0.0.3 lib/veritas/logic/predicate/enumerable.rb
veritas-0.0.2 lib/veritas/logic/predicate/enumerable.rb