CsvOutput::result()   B
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 22
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 22
rs 8.9197
cc 4
eloc 14
nc 4
nop 1
1
<?php
2
namespace phphound\output;
3
4
use League\Csv\Writer;
5
use phphound\AnalysisResult;
6
7
class CsvOutput extends AbstractOutput
8
{
9
    /**
10
     * @inheritdoc
11
     */
12
    public function result(AnalysisResult $result)
13
    {
14
        $writer = Writer::createFromString('');
15
        $writer->insertOne(['File', 'Line', 'Tool', 'Type', 'Message']);
16
17
        foreach ($result->toArray() as $fileName => $lines) {
18
            foreach ($lines as $lineNumber => $issues) {
19
                foreach ($issues as $issue) {
20
                    $writer->insertOne([
21
                        $fileName,
22
                        $lineNumber,
23
                        $issue['tool'],
24
                        $issue['type'],
25
                        trim($issue['message']),
26
                    ]);
27
                }
28
            }
29
        }
30
31
        $csv = ltrim($writer->__toString());
32
        $this->cli->out($csv);
33
    }
34
}
35