ForwardPipeline::addStep()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
/*
4
 * This file is part of alchemy/pipeline-component.
5
 *
6
 * (c) Alchemy <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Alchemy\Pipeline\Pipeline;
13
14
use Alchemy\Pipeline\Pipeline;
15
use Alchemy\Pipeline\PipelineElement;
16
use Alchemy\Resource\Resource;
17
18
class ForwardPipeline implements Pipeline
19
{
20
    /**
21
     * @var PipelineElement[]
22
     */
23
    private $steps = [];
24
25
    /**
26
     * @param PipelineElement $step
27
     */
28 8
    public function addStep(PipelineElement $step)
29
    {
30 8
        $this->steps[] = $step;
31 8
    }
32
33
    /**
34
     * @param \Alchemy\Resource\Resource $resource
35
     * @return \Alchemy\Resource\Resource
36
     */
37 8
    public function process(Resource $resource)
38
    {
39 8
        foreach ($this->steps as $step) {
40 8
            $resource = $step->execute($resource);
41 6
        }
42
43 8
        return $resource;
44
    }
45
}
46