module Tuple

Public Instance Methods

any_tuple?(seq) click to toggle source
# File lib/taxon/tuple.rb, line 9
def any_tuple?(seq)
  seq.is_a?(Array)
end
empty_tuple?(seq) click to toggle source
# File lib/taxon/tuple.rb, line 5
def empty_tuple?(seq)
  any_tuple?(seq) && seq.empty?
end
tuple?(tuple, entry_tests=[]) click to toggle source
# File lib/taxon/tuple.rb, line 13
def tuple?(tuple, entry_tests=[])
  if empty_tuple?(entry_tests)
    any_tuple?(tuple)
  elsif Taxon::Guard.varying_predicates?(self, entry_tests)
    if entry_tests.is_a? Array
      upper = [tuple.size, entry_tests.size].min
      (0...upper).all?{|i| send(entry_tests[i], tuple[i])}
    else
      send(entry_tests, tuple[0])
    end
  end
end