Passed
Pull Request — master (#69)
by Dave
07:20
created

BaseLineCreator   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 25
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A createBaseLine() 0 13 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DaveLiddament\StaticAnalysisResultsBaseliner\Domain\Creator;
6
7
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\BaseLiner\BaseLineExporter;
8
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\Common\BaseLine;
9
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\Common\FileName;
10
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\Common\ProjectRoot;
11
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\HistoryAnalyser\HistoryFactory;
12
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\ResultsParser\ResultsParser;
13
14
class BaseLineCreator implements BaseLineCreatorInterface
15
{
16
    /**
17
     * @var BaseLineExporter
18
     */
19
    private $exporter;
20
21
    public function __construct(BaseLineExporter $exporter)
22
    {
23
        $this->exporter = $exporter;
24
    }
25
26
    public function createBaseLine(
27
        HistoryFactory $historyFactory,
28
        ResultsParser $resultsParser,
29
        FileName $baselineFile,
30
        ProjectRoot $projectRoot,
31
        string $analysisResultsAsString
32
    ): BaseLine {
33
        $historyMarker = $historyFactory->newHistoryMarkerFactory()->newCurrentHistoryMarker($projectRoot);
34
        $analysisResults = $resultsParser->convertFromString($analysisResultsAsString, $projectRoot);
35
        $baseline = new BaseLine($historyFactory, $analysisResults, $resultsParser, $historyMarker);
36
        $this->exporter->export($baseline, $baselineFile);
37
38
        return $baseline;
39
    }
40
}
41