Completed
Push — master ( 76c63f...5ef1d6 )
by Bill
9s
created

CsvResultsRenderer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 26
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A render() 0 8 2
A getHeader() 0 4 1
1
<?php declare(strict_types = 1);
2
3
namespace Churn\Renderers\Results;
4
5
use Churn\Results\ResultCollection;
6
use Symfony\Component\Console\Output\OutputInterface;
7
8
class CsvResultsRenderer implements ResultsRendererInterface
9
{
10
    /**
11
     * Renders the results.
12
     * @param OutputInterface  $output  Output Interface.
13
     * @param ResultCollection $results Result Collection.
14
     * @return void
15
     */
16
    public function render(OutputInterface $output, ResultCollection $results)
17
    {
18
        $output->writeln($this->getHeader());
19
20
        foreach ($results->toArray() as $result) {
21
            $output->writeln(implode(';', [ '"'.$result[0].'"', $result[1], $result[2], $result[3] ]));
22
        };
23
    }
24
25
    /**
26
     * Get the header.
27
     * @return string
28
     */
29
    private function getHeader(): string
30
    {
31
        return '"File";"Times Changed";"Complexity";"Score"';
32
    }
33
}
34