ServiceProvider::make()   A
last analyzed

Complexity

Conditions 2
Paths 1

Size

Total Lines 23
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 15
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 23
ccs 15
cts 15
cp 1
rs 9.7666
c 0
b 0
f 0
cc 2
nc 1
nop 0
crap 2
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: thalesmartins
5
 * Date: 03/12/2018
6
 * Time: 18:17
7
 */
8
9
namespace Saci\Console\Infrastructure\Domain\Services\PhpClass;
10
11
12
use cristianoc72\codegen\model\GenerateableInterface;
13
use cristianoc72\codegen\model\PhpConstant;
14
use cristianoc72\codegen\model\PhpMethod;
15
use cristianoc72\codegen\model\PhpProperty;
16
use Saci\Console\Domain\Services\PhpClass as PhpClassInterface;
17
18
class ServiceProvider extends AbstractPhpClass implements PhpClassInterface
19
{
20
21 4
    public function make(): GenerateableInterface
22
    {
23 4
        $moduleName = $this->getModuleName();
24 4
        $className = $this->getClassName() ?: $moduleName . 'ServiceProvider';
25
26
        $this
27 4
            ->setQualifiedName("Saci\\{$moduleName}\\{$className}")
28 4
            ->declareUses(
29 4
                'App\\Model\\Core\\Container\\ServiceProvider\\ServiceProvider'
30
            )
31 4
            ->setParentClassName('ServiceProvider')
32 4
            ->setMethod(
33 4
                PhpMethod::create('register')
34
            )
35 4
            ->setProperty(
36 4
                PhpProperty::create('provides')
37 4
                ->setVisibility('protected')
38 4
                ->setType('array')
39 4
                ->setValue(PhpConstant::create('[]', [], true))
40
            );
41
42
43 4
        return $this;
44
    }
45
}