Completed
Push — master ( a52e49...d03ec2 )
by Iman
09:53
created

Singletons::make()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
3
namespace Imanghafoori\HeyMan\Boot;
4
5
use Imanghafoori\HeyMan\Chain;
6
use Imanghafoori\HeyMan\HeyMan;
7
use Imanghafoori\HeyMan\HeyManSwitcher;
8
use Imanghafoori\HeyMan\Reactions\ReactionFactory;
9
use Imanghafoori\HeyMan\WatchingStrategies\EloquentEventsManager;
10
use Imanghafoori\HeyMan\WatchingStrategies\EventManager;
11
use Imanghafoori\HeyMan\WatchingStrategies\RouterEventManager;
12
use Imanghafoori\HeyMan\WatchingStrategies\ViewEventManager;
13
use Imanghafoori\HeyMan\YouShouldHave;
14
15
class Singletons
16
{
17
    public static function make($app)
18
    {
19
        $singletons = self::singletons();
20
21
        foreach ($singletons as $class) {
22
            $app->singleton($class, $class);
23
        }
24
    }
25
26
    /**
27
     * @return array
28
     */
29
    private static function singletons(): array
30
    {
31
        return [
32
            HeyManSwitcher::class,
33
            Chain::class,
34
            HeyMan::class,
35
            YouShouldHave::class,
36
            ReactionFactory::class,
37
            EventManager::class,
38
            RouterEventManager::class,
39
            ViewEventManager::class,
40
            EloquentEventsManager::class,
41
        ];
42
    }
43
}