1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpGitHooks\Module\Configuration\Service; |
4
|
|
|
|
5
|
|
|
use Composer\IO\IOInterface; |
6
|
|
|
use PhpGitHooks\Module\Configuration\Domain\Enabled; |
7
|
|
|
use PhpGitHooks\Module\Configuration\Domain\Message; |
8
|
|
|
use PhpGitHooks\Module\Configuration\Domain\PhpUnitGuardCoverage; |
9
|
|
|
|
10
|
|
|
class PhpUnitGuardCoverageConfigurator |
11
|
|
|
{ |
12
|
|
|
/** |
13
|
|
|
* @var PhpGuardCoverageGitIgnoreConfigurator |
14
|
|
|
*/ |
15
|
|
|
private $coverageGitIgnoreConfigurator; |
16
|
|
|
|
17
|
|
|
/** |
18
|
|
|
* PhpUnitGuardCoverageConfigurator constructor. |
19
|
|
|
* @param PhpGuardCoverageGitIgnoreConfigurator $coverageGitIgnoreConfigurator |
20
|
|
|
*/ |
21
|
3 |
|
public function __construct(PhpGuardCoverageGitIgnoreConfigurator $coverageGitIgnoreConfigurator) |
22
|
|
|
{ |
23
|
3 |
|
$this->coverageGitIgnoreConfigurator = $coverageGitIgnoreConfigurator; |
24
|
3 |
|
} |
25
|
|
|
|
26
|
|
|
/** |
27
|
|
|
* @param IOInterface $input |
28
|
|
|
* @param PhpUnitGuardCoverage $phpUnitGuardCoverage |
29
|
|
|
* |
30
|
|
|
* @return PhpUnitGuardCoverage |
31
|
|
|
*/ |
32
|
2 |
|
public function configure(IOInterface $input, PhpUnitGuardCoverage $phpUnitGuardCoverage) |
33
|
|
|
{ |
34
|
2 |
|
if (true === $phpUnitGuardCoverage->isUndefined()) { |
35
|
1 |
|
$guardCoverageAnswer = $input->ask( |
36
|
1 |
|
HookQuestions::PHPUNIT_GUARD_COVERAGE, |
37
|
1 |
|
HookQuestions::DEFAULT_TOOL_ANSWER |
38
|
|
|
); |
39
|
|
|
|
40
|
1 |
|
$phpUnitGuardCoverage = $phpUnitGuardCoverage->setEnabled( |
41
|
1 |
|
new Enabled(HookQuestions::DEFAULT_TOOL_ANSWER === strtoupper($guardCoverageAnswer)) |
42
|
|
|
); |
43
|
|
|
|
44
|
1 |
|
if (true === $phpUnitGuardCoverage->isEnabled()) { |
45
|
1 |
|
$defaultMessage = $input->ask( |
46
|
1 |
|
HookQuestions::PHPUNIT_GUARD_COVERAGE_MESSAGE, |
47
|
1 |
|
HookQuestions::PHPUNIT_GUARD_COVERAGE_MESSAGE_DEFAULT |
48
|
|
|
); |
49
|
|
|
/** @var PhpUnitGuardCoverage $phpUnitGuardCoverage */ |
50
|
1 |
|
$phpUnitGuardCoverage = $phpUnitGuardCoverage->setWarningMessage( |
51
|
1 |
|
new Message($defaultMessage) |
52
|
|
|
); |
53
|
|
|
|
54
|
1 |
|
$this->coverageGitIgnoreConfigurator->configure(); |
55
|
|
|
} |
56
|
|
|
} |
57
|
2 |
|
return $phpUnitGuardCoverage; |
58
|
|
|
} |
59
|
|
|
} |
60
|
|
|
|