__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 6
dl 0
loc 14
ccs 0
cts 7
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace WebTheory\Saveyour\Data\Factory;
4
5
use WebTheory\Saveyour\Data\QueriedModelPropertyDataManager;
6
use WebTheory\Saveyour\Enum\ServerRequestLocation;
0 ignored issues
show
Bug introduced by
The type WebTheory\Saveyour\Enum\ServerRequestLocation was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
8
class QueriedModelPropertyDataManagerFactory
9
{
10
    protected object $repository;
11
12
    protected string $queryMethod;
13
14
    protected ?string $updateMethod = null;
15
16
    protected ?string $commitMethod = null;
17
18
    protected string $lookup;
19
20
    protected ServerRequestLocation $location;
21
22
    public function __construct(
23
        object $repository,
24
        string $queryMethod,
25
        string $lookup,
26
        ?ServerRequestLocation $location = null,
27
        ?string $updateMethod = null,
28
        ?string $commitMethod = null
29
    ) {
30
        $this->repository = $repository;
31
        $this->queryMethod = $queryMethod;
32
        $this->lookup = $lookup;
33
        $this->location = $location ?? ServerRequestLocation::Attribute();
34
        $this->updateMethod = $updateMethod;
35
        $this->commitMethod = $commitMethod;
36
    }
37
38
    public function create(string $property): QueriedModelPropertyDataManager
39
    {
40
        return new QueriedModelPropertyDataManager(
41
            $property,
42
            $this->repository,
43
            $this->queryMethod,
44
            $this->lookup,
45
            $this->location,
46
            $this->updateMethod,
47
            $this->commitMethod
48
        );
49
    }
50
}
51