Passed
Pull Request — master (#58)
by Dmitriy
02:43
created

CodeFileWriteResult   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
eloc 15
c 0
b 0
f 0
dl 0
loc 30
ccs 0
cts 11
cp 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getResults() 0 8 1
A addError() 0 6 1
A addResult() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Yii\Gii\Component\CodeFile;
6
7
use JetBrains\PhpStorm\ArrayShape;
8
9
class CodeFileWriteResult
10
{
11
    private array $results = [];
12
13
    public function addResult(CodeFile $file, CodeFileWriteStatusEnum $status): void
14
    {
15
        $this->results[$file->getId()] = [
16
            'id' => $file->getId(),
17
            'status' => $status->value,
18
            'error' => null,
19
        ];
20
    }
21
22
    public function addError(CodeFile $file, string $error): void
23
    {
24
        $this->results[$file->getId()] = [
25
            'id' => $file->getId(),
26
            'status' => CodeFileWriteStatusEnum::ERROR->value,
27
            'error' => $error,
28
        ];
29
    }
30
31
    #[ArrayShape([
32
        'id' => 'string',
33
        'status' => 'string',
34
        'error' => 'null|string',
35
    ])]
36
    public function getResults(): array
37
    {
38
        return $this->results;
39
    }
40
}
41