Passed
Push — master ( a4c5f9...448818 )
by Keoghan
18:30
created

EventSubscriber   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Test Coverage

Coverage 90%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
eloc 15
dl 0
loc 52
ccs 18
cts 20
cp 0.9
rs 10
c 1
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A subscribe() 0 7 1
A adaptDockerCompose() 0 5 2
A __construct() 0 3 1
A startAll() 0 3 1
A stopForService() 0 3 1
A stopAll() 0 3 1
A startForService() 0 3 1
1
<?php
2
3
namespace App\Support\DockerSync;
4
5
use App\Events\BuiltDockerCompose;
6
use App\Events\StartingPorter;
7
use App\Events\StartingPorterService;
8
use App\Events\StoppingPorter;
9
use App\Events\StoppingPorterService;
10
use App\Support\Console\ConsoleWriter;
11
12
class EventSubscriber
13
{
14
    /** @var DockerSync */
15
    protected $dockerSync;
16
17 213
    public function __construct(DockerSync $dockerSync)
18
    {
19 213
        $this->dockerSync = $dockerSync;
20
    }
21
22 1
    public function startAll()
23
    {
24 1
        $this->dockerSync->startDaemon();
25
    }
26
27 2
    public function startForService()
28
    {
29 2
        $this->dockerSync->startDaemon();
30
    }
31
32 1
    public function stopAll()
33
    {
34 1
        $this->dockerSync->stopDaemon();
35
    }
36
37 3
    public function stopForService()
38
    {
39 3
        $this->dockerSync->stopDaemon();
40
    }
41
42 6
    public function adaptDockerCompose(BuiltDockerCompose $event)
43
    {
44 6
        if ($this->dockerSync->isActive()) {
45
            app(ConsoleWriter::class)->info('Adapting DockerCompose YAML for DockerSync');
46
            $this->dockerSync->adjustDockerComposeSetup($event->filePath);
47
        }
48
    }
49
50
    /**
51
     * Register the listeners for the subscriber.
52
     *
53
     * @param \Illuminate\Events\Dispatcher $events
54
     *
55
     * @return void
56
     */
57 213
    public function subscribe($events)
58
    {
59 213
        $events->listen(StartingPorter::class, static::class.'@startAll');
60 213
        $events->listen(StartingPorterService::class, static::class.'@startForService');
61 213
        $events->listen(StoppingPorter::class, static::class.'@stopAll');
62 213
        $events->listen(StoppingPorterService::class, static::class.'@stopForService');
63 213
        $events->listen(BuiltDockerCompose::class, static::class.'@adaptDockerCompose');
64
    }
65
}
66