diff --git a/src/DockerServicesTrait.php b/src/DockerServicesTrait.php new file mode 100755 index 0000000..62cae37 --- /dev/null +++ b/src/DockerServicesTrait.php @@ -0,0 +1,53 @@ +services[] = $service; + + return $this; + } + + /** + * Add docker composer services. + * + * @param array $services + * An array of services. + */ + public function setServices(array $services) + { + foreach ($services as $service) { + $this->setService($service); + } + + return $this; + } + + /** + * {@inheritdoc} + */ + protected function getCommand() + { + // Append the services to the end of the command. + return parent::getCommand() . ' ' . implode(' ', $this->services); + } +} diff --git a/src/Task/Up.php b/src/Task/Up.php old mode 100644 new mode 100755 index 9451bdb..47e2ec3 --- a/src/Task/Up.php +++ b/src/Task/Up.php @@ -2,6 +2,7 @@ namespace Droath\RoboDockerCompose\Task; +use Droath\RoboDockerCompose\DockerServicesTrait; use Robo\Exception\TaskException; /** @@ -9,18 +10,13 @@ use Robo\Exception\TaskException; */ class Up extends Base { + use DockerServicesTrait; + /** * {@inheritdoc} */ protected $action = 'up'; - /** - * Docker compose services. - * - * @var array - */ - protected $services = []; - /** * Command detached mode. * @@ -28,34 +24,6 @@ class Up extends Base */ protected $detachedMode = false; - /** - * Add docker composer service. - * - * @param string $service - * The docker services. - */ - public function setService($service) - { - $this->services[] = $service; - - return $this; - } - - /** - * Add docker composer services. - * - * @param array $services - * An array of services. - */ - public function setServices(array $services) - { - foreach ($services as $service) { - $this->setService($service); - } - - return $this; - } - /** * Run containers in the background. */ @@ -147,15 +115,6 @@ class Up extends Base return $this; } - /** - * {@inheritdoc} - */ - protected function getCommand() - { - // Append the services to the end of the command. - return parent::getCommand() . ' ' . implode(' ', $this->services); - } - /** * Set command detached mode. */