class Temporal::Client::Serializer::StartChildWorkflow

Public Instance Methods

to_proto() click to toggle source
# File lib/temporal/client/serializer/start_child_workflow.rb, line 11
def to_proto
  Temporal::Api::Command::V1::Command.new(
    command_type: Temporal::Api::Enums::V1::CommandType::COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION,
    start_child_workflow_execution_command_attributes:
      Temporal::Api::Command::V1::StartChildWorkflowExecutionCommandAttributes.new(
        namespace: object.namespace,
        workflow_id: object.workflow_id.to_s,
        workflow_type: Temporal::Api::Common::V1::WorkflowType.new(name: object.workflow_type),
        task_queue: Temporal::Api::TaskQueue::V1::TaskQueue.new(name: object.task_queue),
        input: to_payloads(object.input),
        workflow_execution_timeout: object.timeouts[:execution],
        workflow_run_timeout: object.timeouts[:run],
        workflow_task_timeout: object.timeouts[:task],
        retry_policy: Temporal::Client::Serializer::RetryPolicy.new(object.retry_policy).to_proto,
        header: serialize_headers(object.headers)
      )
  )
end

Private Instance Methods

serialize_headers(headers) click to toggle source
# File lib/temporal/client/serializer/start_child_workflow.rb, line 32
def serialize_headers(headers)
  return unless headers

  Temporal::Api::Common::V1::Header.new(fields: object.headers)
end