You are here

protected function DevelGeneratePluginManager::findDefinitions in Devel 4.x

Same name and namespace in other branches
  1. 8.3 devel_generate/src/DevelGeneratePluginManager.php \Drupal\devel_generate\DevelGeneratePluginManager::findDefinitions()

Finds plugin definitions.

Return value

array List of definitions to store in cache.

Overrides DefaultPluginManager::findDefinitions

File

devel_generate/src/DevelGeneratePluginManager.php, line 34

Class

DevelGeneratePluginManager
Plugin type manager for DevelGenerate plugins.

Namespace

Drupal\devel_generate

Code

protected function findDefinitions() {
  $definitions = [];
  foreach (parent::findDefinitions() as $plugin_id => $plugin_definition) {
    $plugin_available = TRUE;
    foreach ($plugin_definition['dependencies'] as $module_name) {

      // If a plugin defines module dependencies and at least one module is
      // not installed don't make this plugin available.
      if (!$this->moduleHandler
        ->moduleExists($module_name)) {
        $plugin_available = FALSE;
        break;
      }
    }
    if ($plugin_available) {
      $definitions[$plugin_id] = $plugin_definition;
    }
  }
  return $definitions;
}