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