Passed
Pull Request — master (#69)
by Dave
01:55
created

TextOutputFormatter   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 23
dl 0
loc 39
rs 10
c 1
b 0
f 1
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getName() 0 3 1
A outputResults() 0 32 3
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\OutputFormatter\SummaryStats;
9
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\ResultsParser\AnalysisResults;
10
11
class TextOutputFormatter implements OutputFormatter
12
{
13
    public function outputResults(SummaryStats $summaryStats, AnalysisResults $analysisResults): string
14
    {
15
        $output = <<<EOF
16
Latest issue count: {$summaryStats->getLatestAnalysisResultsCount()}
17
Baseline issue count: {$summaryStats->getBaseLineCount()}
18
Issues count with baseline removed: {$analysisResults->getCount()}
19
EOF;
20
21
        if ($analysisResults->hasNoIssues()) {
22
            return $output;
23
        }
24
25
        $output .= <<<EOF
26
27
28
--------
29
30
31
EOF;
32
33
        foreach ($analysisResults->getAnalysisResults() as $analysisResult) {
34
            $location = $analysisResult->getLocation();
35
36
            $output .= <<<EOF
37
{$location->getFileName()->getFileName()}:{$location->getLineNumber()->getLineNumber()} - {$analysisResult->getType()->getType()}
38
{$analysisResult->getMessage()}
39
40
41
EOF;
42
        }
43
44
        return $output;
45
    }
46
47
    public function getName(): string
48
    {
49
        return 'text';
50
    }
51
}
52