GDCChecker::model()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 8
c 0
b 0
f 0
ccs 4
cts 4
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
namespace GDCInfo;
4
5
class GDCChecker
6
{
7
    protected static string $model = \GDCInfo\Models\GDCInfo::class;
0 ignored issues
show
Bug introduced by
The type GDCInfo\Models\GDCInfo 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...
8
9 2
    public static function useModel(string $modelClass): static
10
    {
11 2
        if (!is_a($modelClass, \GDCInfo\Models\GDCInfo::class, true)) {
12 1
            throw new \Exception("Class should be a subclass of GDCInfo [{$modelClass}]");
13
        }
14
15 1
        static::$model = $modelClass;
16
17 1
        return new static();
18
    }
19
20
    /**
21
     * @return class-string \GDCInfo\Models\GDCInfo
0 ignored issues
show
Documentation Bug introduced by
The doc comment class-string at position 0 could not be parsed: Unknown type name 'class-string' at position 0 in class-string.
Loading history...
22
     */
23 1
    public static function modelClass(): string
24
    {
25 1
        return static::$model;
26
    }
27
28 1
    public static function model(array $attributes = []): \GDCInfo\Models\GDCInfo
29
    {
30 1
        $modelClass = static::$model;
31
32
        /** @var \GDCInfo\Models\GDCInfo $model */
33 1
        $model = new $modelClass($attributes);
34
35 1
        return $model;
36
    }
37
}
38