class Dry::Schema::Compiler
@api private
Extended rule compiler used internally by the DSL
def self.new(predicates = PredicateRegistry.new)
- Api: - private
Returns:
-
(Compiler)
-
def self.new(predicates = PredicateRegistry.new) super end
def supports?(predicate)
- Api: - private
Returns:
-
(Boolean)
-
Parameters:
-
predicate
(Symbol
) --
def supports?(predicate) predicates.key?(predicate) end
def visit_and(node)
- Api: - private
def visit_and(node) super.with(hints: false) end
def visit_namespace(node, _opts = EMPTY_HASH)
- Api: - private
Returns:
-
(NamespacedRule)
-
Parameters:
-
_opts
(Hash
) -- Unused -
node
(Array
) --
def visit_namespace(node, _opts = EMPTY_HASH) namespace, rest = node NamespacedRule.new(namespace, visit(rest)) end