Passed
Pull Request — master (#183)
by
unknown
03:23
created

MajimaInstaller   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 2
lcom 0
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A inflectPackageVars() 0 4 1
A correctPluginName() 0 8 1
1
<?php
2
namespace Composer\Installers;
3
4
/**
5
 * Plugin/theme installer for majima
6
 * @author David Neustadt
7
 */
8
class MajimaInstaller extends BaseInstaller
9
{
10
    protected $locations = array(
11
        'plugin' => 'plugins/{$name}/',
12
    );
13
14
    /**
15
     * Transforms the names
16
     * @param  array $vars
17
     * @return array
18
     */
19
    public function inflectPackageVars($vars)
20
    {
21
        return $this->correctPluginName($vars);
22
    }
23
24
    /**
25
     * Change hyphenated names to camelcase
26
     * @param  array $vars
27
     * @return array
28
     */
29
    private function correctPluginName($vars)
30
    {
31
        $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
32
            return strtoupper($matches[0][1]);
33
        }, $vars['name']);
34
        $vars['name'] = ucfirst($camelCasedName);
35
        return $vars;
36
    }
37
}
38