protected function askJobCode(OutputInterface $output, array $jobs)
{
$index = 0;
$keyMap = array_keys($jobs);
$question = array();
foreach ($jobs as $key => $job) {
$question[] = '<comment>[' . $index++ . ']</comment> ' . $job['Job'] . PHP_EOL;
}
$question[] = '<question>Please select job: </question>' . PHP_EOL;
/** @var $dialogHelper DialogHelper */
$dialogHelper = $this->getHelper('dialog');
$jobCode = $dialogHelper->askAndValidate($output, $question, function ($typeInput) use($keyMap, $jobs) {
$key = $keyMap[$typeInput];
if (!isset($jobs[$key])) {
throw new InvalidArgumentException('Invalid job');
}
return $jobs[$key]['Job'];
});
return $jobCode;
}