class Dry::Schema::MessageCompiler
def visit_predicate(node, opts)
- Api: - private
def visit_predicate(node, opts) predicate, args = node tokens = message_tokens(args) path, *arg_vals, input = predicate_resolvers[predicate].(args, opts) options = opts.dup.update( path: path.last, **tokens, **lookup_options(arg_vals: arg_vals, input: input) ).to_h template, meta = messages[predicate, options] unless template raise MissingMessageError.new(path, messages.looked_up_paths(predicate, options)) end text = message_text(template, tokens, options) message_type(options).new( text: text, meta: meta, path: path, predicate: predicate, args: arg_vals, input: input ) end