DevelGeneratePluginManager.php in Devel 4.x
File
devel_generate/src/DevelGeneratePluginManager.php
View source
<?php
namespace Drupal\devel_generate;
use Drupal\Core\Plugin\DefaultPluginManager;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
class DevelGeneratePluginManager extends DefaultPluginManager {
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/DevelGenerate', $namespaces, $module_handler, NULL, 'Drupal\\devel_generate\\Annotation\\DevelGenerate');
$this
->alterInfo('devel_generate_info');
$this
->setCacheBackend($cache_backend, 'devel_generate_plugins');
}
protected function findDefinitions() {
$definitions = [];
foreach (parent::findDefinitions() as $plugin_id => $plugin_definition) {
$plugin_available = TRUE;
foreach ($plugin_definition['dependencies'] as $module_name) {
if (!$this->moduleHandler
->moduleExists($module_name)) {
$plugin_available = FALSE;
break;
}
}
if ($plugin_available) {
$definitions[$plugin_id] = $plugin_definition;
}
}
return $definitions;
}
}