Bristol SU Support Package
CompletionConditionRepository.php
Go to the documentation of this file.
1 <?php
2 
3 
5 
6 
8 use BristolSU\Support\Completion\Contracts\CompletionConditionFactory as CompletionConditionFactoryContract;
9 use BristolSU\Support\Completion\Contracts\CompletionConditionManager as CompletionConditionManagerContract;
11 
16 {
17 
23  private $manager;
24 
31 
36  public function __construct(CompletionConditionManagerContract $manager, CompletionConditionFactoryContract $completionConditionFactory)
37  {
38  $this->manager = $manager;
39  $this->completionConditionFactory = $completionConditionFactory;
40  }
41 
51  public function getByAlias($moduleAlias, $alias): CompletionCondition
52  {
53  $class = $this->manager->getClassFromAlias($moduleAlias, $alias);
54  return $this->completionConditionFactory->createCompletionConditionFromClassName($class, $moduleAlias);
55  }
56 
63  public function getAllForModule($moduleAlias)
64  {
65  $classes = $this->manager->getForModule($moduleAlias);
66 
67  $completionConditions = [];
68  foreach ($classes as $class) {
69  $completionConditions[] = $this->completionConditionFactory->createCompletionConditionFromClassName($class, $moduleAlias);
70  }
71  return $completionConditions;
72  }
73 }
__construct(CompletionConditionManagerContract $manager, CompletionConditionFactoryContract $completionConditionFactory)