1<?php
2namespace Composer\Installers;
3
4class VgmcpInstaller extends BaseInstaller
5{
6    protected $locations = array(
7        'bundle' => 'src/{$vendor}/{$name}/',
8        'theme' => 'themes/{$name}/'
9    );
10
11    /**
12     * Format package name.
13     *
14     * For package type vgmcp-bundle, cut off a trailing '-bundle' if present.
15     *
16     * For package type vgmcp-theme, cut off a trailing '-theme' if present.
17     *
18     */
19    public function inflectPackageVars($vars)
20    {
21        if ($vars['type'] === 'vgmcp-bundle') {
22            return $this->inflectPluginVars($vars);
23        }
24
25        if ($vars['type'] === 'vgmcp-theme') {
26            return $this->inflectThemeVars($vars);
27        }
28
29        return $vars;
30    }
31
32    protected function inflectPluginVars($vars)
33    {
34        $vars['name'] = preg_replace('/-bundle$/', '', $vars['name']);
35        $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
36        $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
37
38        return $vars;
39    }
40
41    protected function inflectThemeVars($vars)
42    {
43        $vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
44        $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
45        $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
46
47        return $vars;
48    }
49}
50