protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->container = $this->getContainer();
     $this->nameGenerator = $this->container->get('dlabs.worker.generator.sidekiq_worker_name');
     $services = preg_grep($this->nameGenerator->getRegex(), $this->container->getServiceIds());
     $generator = $this->container->get('dlabs.worker.generator.sidekiq_worker');
     $generator->setSkeletonDirs([$this->container->get('kernel')->locateResource('@DLabsWorkerBundle/Resources')]);
     foreach ($services as $serviceName) {
         $class = $this->nameGenerator->generate($serviceName);
         $filename = $this->nameGenerator->generateFilename($serviceName);
         $generator->generate('template/sidekiq_worker.rb.twig', "app/workers/{$filename}", ['namespace' => __NAMESPACE__, 'service' => $serviceName, 'class' => $class]);
         $output->writeln(sprintf('Generated <info>%s</info>', "app/workers/{$filename}"));
     }
 }
Example #2
0
 /**
  * Tests that Container::getServiceIds() works properly.
  *
  * @covers ::getServiceIds
  */
 public function testGetServiceIds()
 {
     $service_definition_keys = array_keys($this->containerDefinition['services']);
     $this->assertEquals($service_definition_keys, $this->container->getServiceIds(), 'Retrieved service IDs match definition.');
     $mock_service = new MockService();
     $this->container->set('bar', $mock_service);
     $this->container->set('service.provider', $mock_service);
     $service_definition_keys[] = 'bar';
     $this->assertEquals($service_definition_keys, $this->container->getServiceIds(), 'Retrieved service IDs match definition after setting new services.');
 }