5 * Contains \Drupal\Console\Generator\CacheContextGenerator.
8 namespace Drupal\Console\Generator;
10 use Drupal\Console\Extension\Manager;
11 use Drupal\Console\Core\Generator\Generator;
13 class CacheContextGenerator extends Generator
18 protected $extensionManager;
21 * CacheContextGenerator constructor.
23 * @param Manager $extensionManager
25 public function __construct(
26 Manager $extensionManager
28 $this->extensionManager = $extensionManager;
34 public function generate(array $parameters)
36 $module = $parameters['module'];
37 $cache_context = $parameters['ache_context'];
38 $class = $parameters['class'];
40 $moduleInstance = $this->extensionManager->getModule($module);
41 $modulePath = $moduleInstance->getPath() . '/' . $module;
43 $parameters = array_merge($parameters, [
44 'name' => 'cache_context.' . $cache_context,
45 'class_path' => sprintf('Drupal\%s\CacheContext\%s', $module, $class),
46 'tags' => ['name' => 'cache.context'],
47 'file_exists' => file_exists($modulePath . '.services.yml'),
51 'module/src/cache-context.php.twig',
52 $moduleInstance->getSourcePath() . '/CacheContext/' . $class . '.php',
57 'module/services.yml.twig',
58 $modulePath . '.services.yml',