class Dry::Schema::PredicateRegistry

@api private
A registry with predicate objects from ‘Dry::Logic::Predicates`

def [](name)

Other tags:
    Api: - private
def [](name)
  predicates[name]
end

def arg_list(name, *values)

Other tags:
    Api: - private
def arg_list(name, *values)
  predicate = self[name]
  predicate
    .parameters
    .map(&:last)
    .zip(values + Array.new(predicate.arity - values.size, Undefined))
end

def initialize(predicates = Dry::Logic::Predicates)

Other tags:
    Api: - private
def initialize(predicates = Dry::Logic::Predicates)
  @predicates = predicates
  @has_predicate = ::Kernel.instance_method(:respond_to?).bind(@predicates)
end

def key?(name)

Other tags:
    Api: - private
def key?(name)
  has_predicate.(name)
end