Passed
Push — master ( 1d1b3b...024fd5 )
by Pol
02:36
created

ClassGenerator   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 33
ccs 10
cts 10
cp 1
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A regenerateClasses() 0 10 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace drupol\ComposerPackages;
6
7
use Composer\Script\Event;
8
use drupol\ComposerPackages\Exporter\Directories;
9
use drupol\ComposerPackages\Exporter\Packages;
10
use drupol\ComposerPackages\Exporter\Types;
11
12
/**
13
 * Class ClassGenerator.
14
 */
15
final class ClassGenerator
16
{
17
    /**
18
     * @var \Composer\Script\Event
19
     */
20
    private $event;
21
22
    /**
23
     * ClassGenerator constructor.
24
     *
25
     * @param \Composer\Script\Event $event
26
     */
27 3
    public function __construct(Event $event)
28
    {
29 3
        $this->event = $event;
30 3
    }
31
32
    /**
33
     * @throws \ReflectionException
34
     * @throws \Twig\Error\LoaderError
35
     * @throws \Twig\Error\RuntimeError
36
     * @throws \Twig\Error\SyntaxError
37
     */
38 2
    public function regenerateClasses(): void
39
    {
40 2
        (new Packages($this->event))
41 2
            ->exportToFile('packages.twig');
42
43 2
        (new Types($this->event))
44 2
            ->exportToFile('types.twig');
45
46 2
        (new Directories($this->event))
47 2
            ->exportToFile('directories.twig');
48 2
    }
49
}
50