You are here

public function IntervalPluginManager::__construct in Interval Field 8

Constructs a new IntervalPluginManager.

Parameters

\Traversable $namespaces: An object that implements \Traversable which contains the root paths keyed by the corresponding namespace to look for plugin implementations,

\Drupal\Core\Cache\CacheBackendInterface $cache_backend: Cache backend instance to use.

\Drupal\Core\Extension\ModuleHandlerInterface $module_handler: The module handler to invoke the alter hook with.

Overrides DefaultPluginManager::__construct

File

src/IntervalPluginManager.php, line 40

Class

IntervalPluginManager
Configurable interval manager.

Namespace

Drupal\interval

Code

public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
  $this->discovery = new YamlDiscovery('intervals', $module_handler
    ->getModuleDirectories());
  $this->discovery
    ->addTranslatableProperty('plural', 'plural_context');
  $this->discovery
    ->addTranslatableProperty('singular', 'singular_context');
  $this->discovery = new ContainerDerivativeDiscoveryDecorator($this->discovery);
  $this->factory = new ContainerFactory($this);
  $this->moduleHandler = $module_handler;
  $this
    ->alterInfo('intervals');
  $this
    ->setCacheBackend($cache_backend, 'interval_plugins');
}