diff --git a/src/BeanstalkPackage.php b/src/BeanstalkPackage.php index 9f3c387..6e83131 100644 --- a/src/BeanstalkPackage.php +++ b/src/BeanstalkPackage.php @@ -10,6 +10,7 @@ use ObjectivePHP\Config\ConfigInterface; use ObjectivePHP\Config\ConfigProviderInterface; use ObjectivePHP\Package\Beanstalk\Config\BeanstalkServer; +use ObjectivePHP\ServicesFactory\ServicesFactory; use Pheanstalk\Pheanstalk; /** @@ -38,13 +39,27 @@ public function getConfig(): ConfigInterface * @param WorkflowEventInterface $event */ public function onPackagesInit(WorkflowEventInterface $event) + { + $this->registerServices( + $event->getApplication()->getServicesFactory(), + $event->getApplication()->getConfig()->get(BeanstalkServer::KEY) + ); + } + + /** + * Register Beanstalk services into services factory + * + * @param ServicesFactory $servicesFactory + * @param array $beanstalkServerConfig + */ + public function registerServices(ServicesFactory $servicesFactory, array $beanstalkServerConfig) { /** * @var string $key * @var BeanstalkServer $config */ - foreach ($event->getApplication()->getConfig()->get(BeanstalkServer::KEY) as $key => $config) { - $event->getApplication()->getServicesFactory()->registerService([ + foreach ($beanstalkServerConfig as $key => $config) { + $servicesFactory->registerService([ 'id' => self::SERVICE_PREFIX . $key, 'class' => Pheanstalk::class, 'params' => [