Test Failed
Pull Request — master (#9)
by Yo
01:55
created

NamespaceResolver   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 32
ccs 0
cts 14
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A resolve() 0 18 3
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