Passed
Push — master ( 2e83a1...fc8a51 )
by Christoffer
02:29
created

SupportedRules::get()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 5
nc 2
nop 0
1
<?php
2
3
namespace Digia\GraphQL\Validation\Rule;
4
5
class SupportedRules
6
{
7
    /**
8
     * @var array
9
     */
10
    private static $supportedRules = [
11
        ExecutableDefinitionsRule::class,
12
        FieldOnCorrectTypeRule::class,
13
        FragmentsOnCompositeTypesRule::class,
14
        KnownArgumentNamesRule::class,
15
        KnownDirectivesRule::class,
16
        KnownFragmentNamesRule::class,
17
        KnownTypeNamesRule::class,
18
        LoneAnonymousOperationRule::class,
19
        NoFragmentCyclesRule::class,
20
        NoUndefinedVariablesRule::class,
21
        NoUnusedFragmentsRule::class,
22
        NoUnusedVariablesRule::class,
23
        OverlappingFieldsCanBeMergedRule::class,
24
        PossibleFragmentSpreadsRule::class,
25
        ProvidedNonNullArgumentsRule::class,
26
        ScalarLeafsRule::class,
27
        SingleFieldSubscriptionsRule::class,
28
        UniqueArgumentNamesRule::class,
29
        UniqueDirectivesPerLocationRule::class,
30
    ];
31
32
    /**
33
     * @return array
34
     */
35
    public static function build(): array
36
    {
37
        $rules = [];
38
39
        // Rules maintain state so they should always be re-instantiated.
40
        foreach (self::$supportedRules as $className) {
41
            $rules[] = new $className();
42
        }
43
44
        return $rules;
45
    }
46
}
47