Passed
Push — main ( 8155a4...c1c15d )
by Chema
03:45
created

Factory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 3
eloc 5
c 1
b 0
f 1
dl 0
loc 18
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createGreeterService() 0 5 1
A __construct() 0 3 1
A getModule2Facade() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GacelaTest\Feature\Framework\BindingsInsideProvider\Module;
6
7
use Gacela\Framework\AbstractFactory;
8
use GacelaTest\Feature\Framework\BindingsInsideProvider\Module\Application\GreeterService;
9
use GacelaTest\Feature\Framework\BindingsInsideProvider\Module\Domain\GreeterGeneratorInterface;
10
use GacelaTest\Feature\Framework\BindingsInsideProvider\Module2\Module2FacadeInterface;
11
12
final class Factory extends AbstractFactory
13
{
14
    public function __construct(
15
        private readonly GreeterGeneratorInterface $greeterGenerator,
16
    ) {
17
    }
18
19
    public function createGreeterService(): GreeterService
20
    {
21
        return new GreeterService(
22
            $this->greeterGenerator,
23
            $this->getModule2Facade(),
24
        );
25
    }
26
27
    private function getModule2Facade(): Module2FacadeInterface
28
    {
29
        return $this->getProvidedDependency(Module2FacadeInterface::class);
30
    }
31
}
32