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)

@!visibility private
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(

Parameters:
  • result_hint (Object, nil) -- Result hints for the query.
  • arg_hints (Array, nil) -- 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