Passed
Push — master ( 16cc56...d9bd57 )
by Iman
02:32
created

Singletons::singletons()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 13
rs 9.9
c 0
b 0
f 0
ccs 2
cts 2
cp 1
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Imanghafoori\HeyMan\Boot;
4
5
use Imanghafoori\HeyMan\Chain;
6
use Imanghafoori\HeyMan\HeyMan;
7
use Imanghafoori\HeyMan\YouShouldHave;
8
use Imanghafoori\HeyMan\Switching\HeyManSwitcher;
9
use Imanghafoori\HeyMan\Reactions\ReactionFactory;
10
use Imanghafoori\HeyMan\Conditions\ConditionsFacade;
11
use Imanghafoori\HeyMan\WatchingStrategies\ChainCollection;
12
use Imanghafoori\HeyMan\WatchingStrategies\Events\EventManager;
13
use Imanghafoori\HeyMan\WatchingStrategies\Views\ViewNormalizer;
14
use Imanghafoori\HeyMan\WatchingStrategies\Views\ViewEventManager;
15
use Imanghafoori\HeyMan\WatchingStrategies\EloquentModels\EloquentEventsManager;
16
17
class Singletons
18
{
19
    protected static $singletons = [
20
        HeyManSwitcher::class,
21
        HeyMan::class,
22
        YouShouldHave::class,
23
        ReactionFactory::class,
24
        EventManager::class,
25
        ViewEventManager::class,
26
        EloquentEventsManager::class,
27
        ViewNormalizer::class,
28
        ConditionsFacade::class,
29
        Chain::class,
30
    ];
31
32 110
    public static function make($app)
33
    {
34 110
        foreach (self::$singletons as $class) {
35 110
            $app->singleton($class);
36
        }
37 110
        $app->singleton('heyman.chain', Chain::class);
38 110
        $app->singleton('heyman.chains', ChainCollection::class);
39 110
    }
40
}
41