Passed
Push — master ( 1d60eb...03dff3 )
by Stiofan
06:44 queued 03:02
created

TYPO3FlowInstaller::inflectPackageVars()   A

Complexity

Conditions 5
Paths 4

Size

Total Lines 14

Duplication

Lines 8
Ratio 57.14 %

Importance

Changes 0
Metric Value
cc 5
nc 4
nop 1
dl 8
loc 14
rs 9.4888
c 0
b 0
f 0
1
<?php
2
namespace Composer\Installers;
3
4
/**
5
 * An installer to handle TYPO3 Flow specifics when installing packages.
6
 */
7
class TYPO3FlowInstaller extends BaseInstaller
8
{
9
    protected $locations = array(
10
        'package'       => 'Packages/Application/{$name}/',
11
        'framework'     => 'Packages/Framework/{$name}/',
12
        'plugin'        => 'Packages/Plugins/{$name}/',
13
        'site'          => 'Packages/Sites/{$name}/',
14
        'boilerplate'   => 'Packages/Boilerplates/{$name}/',
15
        'build'         => 'Build/{$name}/',
16
    );
17
18
    /**
19
     * Modify the package name to be a TYPO3 Flow style key.
20
     *
21
     * @param  array $vars
22
     * @return array
23
     */
24
    public function inflectPackageVars($vars)
25
    {
26
        $autoload = $this->package->getAutoload();
27 View Code Duplication
        if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
28
            $namespace = key($autoload['psr-0']);
29
            $vars['name'] = str_replace('\\', '.', $namespace);
30
        }
31 View Code Duplication
        if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
32
            $namespace = key($autoload['psr-4']);
33
            $vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
34
        }
35
36
        return $vars;
37
    }
38
}
39