Passed
Push — 1.0.x ( 57bf95...06014a )
by Koldo
02:41
created

PatchFeatureFactory::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 5
dl 0
loc 8
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Pheature\Crud\Psr11\Toggle;
6
7
use Pheature\Crud\Psr7\Toggle\PatchFeature;
8
use Pheature\Crud\Toggle\Handler\AddStrategy;
9
use Pheature\Crud\Toggle\Handler\DisableFeature;
10
use Pheature\Crud\Toggle\Handler\EnableFeature;
11
use Pheature\Crud\Toggle\Handler\RemoveStrategy;
12
use Psr\Container\ContainerInterface;
13
use Psr\Http\Message\ResponseFactoryInterface;
14
15
final class PatchFeatureFactory
16
{
17 1
    public function __invoke(ContainerInterface $container): PatchFeature
18
    {
19
        /** @var AddStrategy $addStrategy */
20 1
        $addStrategy = $container->get(AddStrategy::class);
21
        /** @var RemoveStrategy $removeStrategy */
22 1
        $removeStrategy = $container->get(RemoveStrategy::class);
23
        /** @var EnableFeature $enableFeature */
24 1
        $enableFeature = $container->get(EnableFeature::class);
25
        /** @var DisableFeature $disableFeature */
26 1
        $disableFeature = $container->get(DisableFeature::class);
27
        /** @var ResponseFactoryInterface $responseFactory */
28 1
        $responseFactory = $container->get(ResponseFactoryInterface::class);
29
30 1
        return self::create($addStrategy, $removeStrategy, $enableFeature, $disableFeature, $responseFactory);
31
    }
32
33 2
    public static function create(
34
        AddStrategy $addStrategy,
35
        RemoveStrategy $removeStrategy,
36
        EnableFeature $enableFeature,
37
        DisableFeature $disableFeature,
38
        ResponseFactoryInterface $responseFactory
39
    ): PatchFeature {
40 2
        return new PatchFeature($addStrategy, $removeStrategy, $enableFeature, $disableFeature, $responseFactory);
41
    }
42
}
43