def workflow_execution_opts options, workflow_execution
if workflow_execution.is_a?(WorkflowExecution)
options[:workflow_id] = workflow_execution.workflow_id
options[:run_id] = workflow_execution.run_id
elsif
workflow_execution.is_a?(Hash) and
workflow_execution[:workflow_id].is_a?(String) and
workflow_execution[:run_id].is_a?(String) and
workflow_execution.keys.length == 2
then
options.merge!(workflow_execution)
elsif workflow_execution.is_a?(String)
options[:workflow_id] = workflow_execution
else
msg = 'expected workflow_execution to be a WorkflowExecution ' +
'object or workflow id or a hash with :workflow_id and :run_id'
raise ArgumentError, msg
end
end