Completed
Push — master ( 293d26...b92c2d )
by Dave
16s queued 11s
created

GithubActionsOutputFormatter::getIdentifier()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DaveLiddament\StaticAnalysisResultsBaseliner\Plugins\OutputFormatters;
6
7
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\OutputFormatter\OutputFormatter;
8
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\ResultsParser\AnalysisResults;
9
10
class GithubActionsOutputFormatter implements OutputFormatter
11
{
12
    public function outputResults(
13
        AnalysisResults $baseLineRemovedResults
14
    ): string {
15
        $lines = [];
16
17
        foreach ($baseLineRemovedResults->getAnalysisResults() as $analysisResult) {
18
            $location = $analysisResult->getLocation();
19
20
            $message = str_replace("\n", '%0A', $analysisResult->getMessage());
21
            $lines[] = sprintf(
22
                '::%s file=%s,line=%d::%s',
23
                $analysisResult->getType()->getType(),
24
                $location->getAbsoluteFileName()->getFileName(),
25
                $location->getLineNumber()->getLineNumber(),
26
                $message,
27
            );
28
        }
29
30
        return implode(\PHP_EOL, $lines);
31
    }
32
33
    public function getIdentifier(): string
34
    {
35
        return 'github';
36
    }
37
}
38