Factory   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 19
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A createCompanyService() 0 8 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module;
6
7
use Gacela\Framework\AbstractFactory;
8
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\AbstractClass;
9
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\AbstractFromAnonymousClass;
10
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\AbstractFromCallable;
11
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\InterfaceFromAnonymousClass;
12
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\InterfaceFromCallable;
13
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\Service;
14
15
final class Factory extends AbstractFactory
16
{
17
    public function __construct(
18
        private readonly AbstractClass $resolvedClass,
19
        private readonly AbstractFromAnonymousClass $resolvingAbstractAnonClassFunction,
20
        private readonly AbstractFromCallable $resolvingAbstractAnonClassCallable,
21
        private readonly InterfaceFromAnonymousClass $resolvingAnonClassFunction,
22
        private readonly InterfaceFromCallable $resolvingAnonClassCallable,
23
    ) {
24
    }
25
26
    public function createCompanyService(): Service
27
    {
28
        return new Service(
29
            $this->resolvedClass,
30
            $this->resolvingAbstractAnonClassFunction,
31
            $this->resolvingAbstractAnonClassCallable,
32
            $this->resolvingAnonClassFunction,
33
            $this->resolvingAnonClassCallable,
34
        );
35
    }
36
}
37