for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/* this file is part of pipelines */
namespace Ktomk\Pipelines\Runner\Containers;
use Ktomk\Pipelines\Runner\Runner;
use Ktomk\Pipelines\Value\Prefix;
/**
* Class LabelsBuilder
*
* Build labels for containers
* @package Ktomk\Pipelines\Runner\Containers
*/
class LabelsBuilder
{
* @var string
private $prefix;
private $project;
private $projectDirectory;
private $role;
* @return self
public static function createFromRunner(Runner $runner)
$builder = new self();
$builder
->setPrefix($runner->getPrefix())
->setProject($runner->getProject())
->setProjectDirectory($runner->getProjectDirectory());
return $builder;
}
* LabelsBuilder constructor.
public function __construct()
* @param string $role
* @return LabelsBuilder
public function setRole($role)
$this->role = Role::verify($role);
return $this;
* @return string[]
public function toArray()
$labels = array();
$labels['pipelines.prefix'] = $this->prefix;
$labels['pipelines.role'] = $this->role;
$labels['pipelines.project.name'] = $this->project;
$labels['pipelines.project.path'] = $this->projectDirectory;
return $labels;
* @param string $prefix
public function setPrefix($prefix)
$this->prefix = Prefix::verify($prefix);
* @param string $project
public function setProject($project)
$this->project = $project;
* @param string $projectDirectory
public function setProjectDirectory($projectDirectory)
$this->projectDirectory = $projectDirectory;