/** * Registers services on the given container. * * This method should only be used to configure services and parameters. * It should not get services. * * @param Container $pimple An Container instance */ public function register(Container $pimple) { $pimple['task.taskFactory'] = function () use($pimple) { $factory = new TaskFactory($pimple['interpolator.interpolator'], $pimple['output.handler.consoleOutputHandler']); $factory->setLogger($pimple['logger']); $factory->addNamespace('AndreasWeber\\Kanoa\\Task\\Task'); $factory->addNamespace('AndreasWeber\\Kanoa\\Task\\Task\\Notify'); return $factory; }; $pimple['task.taskRunnerFactory'] = function () use($pimple) { $factory = new TaskRunnerFactory($pimple['deployment.deploymentOutputHandler']); $factory->setLogger($pimple['logger']); return $factory; }; }
public function testCreateInterpolatesTaskOptionRecursive() { $task = array('name' => 'SomeCoolTaskName', 'task' => 'DemoTaskStub', 'interpolatedText' => array('key' => array('key' => 'Hello, my name is %NAME%.')), 'something' => 123456); $interpolator = new Interpolator(); $interpolator->add('NAME', 'Kanoa'); $factory = new TaskFactory($interpolator, $this->outputHandler, array('AndreasWeber\\Kanoa\\Test\\Task\\Task\\Stub')); $task = $factory->create($task); $interpolatedText = $task->getOption('interpolatedText'); $this->assertSame('Hello, my name is Kanoa.', $interpolatedText['key']['key']); }