Test Failed
Pull Request — master (#9)
by Yo
03:11 queued 01:13
created

NamespaceResolver::resolve()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 18
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
dl 0
loc 18
ccs 0
cts 14
cp 0
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 10
nc 3
nop 3
crap 12
1
<?php
2
namespace Yoanm\DefaultPhpRepository\Resolver;
3
4
use Yoanm\DefaultPhpRepository\Command\RepositorySubType;
5
use Yoanm\DefaultPhpRepository\Command\RepositoryType;
6
use Yoanm\DefaultPhpRepository\Model\Template;
7
8
/**
9
 * Class NamespaceResolver
10
 */
11
class NamespaceResolver
12
{
13
    /** Repository type namespaces */
14
    const LIBRARY_NAMESPACE = 'library';
15
16
    /** Repository sub type namespaces */
17
    const SYMFONY_LIBRARY_NAMESPACE = 'symfony-library';
18
19
    /**
20
     * @param Template[] $templateList
21
     * @param string     $repositoryType
22
     * @param string     $repositorySubType
23
     */
24
    public function resolve(array $templateList, $repositoryType, $repositorySubType)
25
    {
26
        // Override base namespace for specific files
27
        if (RepositoryType::LIBRARY === $repositoryType) {
28
            $namespace = self::LIBRARY_NAMESPACE;
29
30
            $templateList['composer.config']->setNamespace($namespace);
31
            $templateList['git.gitignore']->setNamespace($namespace);
32
            $templateList['git.readme']->setNamespace($namespace);
33
34
            // Override with sub type
35
            if (RepositorySubType::SYMFONY === $repositorySubType) {
36
                $subNamespace = self::SYMFONY_LIBRARY_NAMESPACE;
37
                $templateList['ci.travis']->setNamespace($subNamespace);
38
                $templateList['git.readme']->setNamespace($subNamespace);
39
            }
40
        }
41
    }
42
}
43