PluginProbe
Code Snippets / 3.10.0
Code Snippets v3.10.0
4.0.0-beta.2 3.10.2 3.10.1 3.10.0 3.10.0-beta.2 3.10.0-beta.1 4.0.0-beta.1 3.9.6 trunk 2.10.0 2.10.1 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 2.14.0 2.14.1 2.14.2 2.14.3 2.14.4 2.14.5 2.14.6 3.0.0 All 65 releases
code-snippets / vendor / composer / installers / src / Composer / Installers / VgmcpInstaller.php

VgmcpInstaller.php in Code Snippets 3.10.0, at vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php

60 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Composer\Installers;
4
5 class VgmcpInstaller extends BaseInstaller
6 {
7 /** @var array<string, string> */
8 protected $locations = array(
9 'bundle' => 'src/{$vendor}/{$name}/',
10 'theme' => 'themes/{$name}/'
11 );
12
13 /**
14 * Format package name.
15 *
16 * For package type vgmcp-bundle, cut off a trailing '-bundle' if present.
17 *
18 * For package type vgmcp-theme, cut off a trailing '-theme' if present.
19 *
20 */
21 public function inflectPackageVars(array $vars): array
22 {
23 if ($vars['type'] === 'vgmcp-bundle') {
24 return $this->inflectPluginVars($vars);
25 }
26
27 if ($vars['type'] === 'vgmcp-theme') {
28 return $this->inflectThemeVars($vars);
29 }
30
31 return $vars;
32 }
33
34 /**
35 * @param array<string, string> $vars
36 * @return array<string, string>
37 */
38 protected function inflectPluginVars(array $vars): array
39 {
40 $vars['name'] = $this->pregReplace('/-bundle$/', '', $vars['name']);
41 $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
42 $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
43
44 return $vars;
45 }
46
47 /**
48 * @param array<string, string> $vars
49 * @return array<string, string>
50 */
51 protected function inflectThemeVars(array $vars): array
52 {
53 $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']);
54 $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
55 $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
56
57 return $vars;
58 }
59 }
60