class Temporalio::Workflow::Definition::Query
manually created to set at runtime on {Workflow.query_handlers}.
A query definition. This is usually built as a result of a {Definition.workflow_query} method, but can be
def self._name_and_hints_from_parameter(query)
def self._name_and_hints_from_parameter(query) case query when Workflow::Definition::Query raise(ArgumentError, 'Cannot call dynamic query directly') unless query.name [query.name, query.arg_hints, query.result_hint] when String, Symbol [query.to_s, nil, nil] else raise ArgumentError, 'Query is not a definition or string/symbol' end end
def initialize(
-
result_hint(Object, nil) -- Result hints for the query. -
arg_hints(Array) -- Argument hints for the query. -
raw_args(Boolean) -- Whether the parameters should be raw values. -
description(String, nil) -- Description for this handler that may appear in CLI/UI. This is currently -
to_invoke(Symbol, Proc) -- Method name or proc to invoke. -
name(String, nil) -- Name or nil if dynamic.
def initialize( name:, to_invoke:, description: nil, raw_args: false, arg_hints: nil, result_hint: nil ) @name = name @to_invoke = to_invoke @description = description @raw_args = raw_args @arg_hints = arg_hints @result_hint = result_hint Internal::ProtoUtils.assert_non_reserved_name(name) end