Bristol SU Support Package
ModuleFactory.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use BristolSU\Support\Module\Contracts\ModuleBuilder as ModuleBuilderContract;
8 
12 class ModuleFactory implements ModuleFactoryAlias
13 {
14 
21  public function fromAlias(string $alias): Module
22  {
23  $moduleBuilder = app(ModuleBuilderContract::class);
24  $moduleBuilder->create($alias);
25  $moduleBuilder->setAlias();
26  $moduleBuilder->setName();
27  $moduleBuilder->setDescription();
28  $moduleBuilder->setPermissions();
29  $moduleBuilder->setSettings();
30  $moduleBuilder->setTriggers();
31  $moduleBuilder->setCompletionConditions();
32  $moduleBuilder->setServices();
33  $moduleBuilder->setFor();
34  return $moduleBuilder->getModule();
35  }
36 }