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

SupportedRules   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
dl 0
loc 40
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A build() 0 10 2
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