Completed
Pull Request — master (#2)
by Pol
10:48
created

PrependTask   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 31
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A run() 0 18 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace PhpTaskman\Core\Plugin\Task;
6
7
use PhpTaskman\Core\Plugin\BaseTask;
8
use Robo\Common\BuilderAwareTrait;
9
use Robo\Task\File\Write;
10
11
final class PrependTask extends BaseTask
12
{
13
    use BuilderAwareTrait;
14
15
    public const ARGUMENTS = [
16
        'file',
17
        'text',
18
    ];
19
    public const NAME = 'prepend';
20
21
    /**
22
     * {@inheritdoc}
23
     */
24
    public function run()
25
    {
26
        $arguments = $this->getTaskArguments();
27
28
        /** @var \PhpTaskman\Core\Plugin\Task\ProcessTask $processTask */
29
        $processTask = $this->task(ProcessTask::class);
30
        $processTask->setTaskArguments([
31
            'from' => $arguments['file'],
32
            'to' => $arguments['file'],
33
        ]);
34
35
        /** @var \Robo\Task\File\Write $writeTask */
36
        $writeTask = $this->task(Write::class, $arguments['file']);
37
38
        return $this->collectionBuilder()->addTaskList([
39
            $writeTask->text($arguments['text'] . \file_get_contents($arguments['file'])),
40
            $processTask,
41
        ])->run();
42
    }
43
}
44