Completed
Pull Request — master (#45)
by Christoffer
02:13
created

RulesProvider   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A register() 0 4 2
1
<?php
2
3
namespace Digia\GraphQL\Provider;
4
5
use Digia\GraphQL\Validation\Rule\ExecutableDefinitionRule;
6
use Digia\GraphQL\Validation\Rule\FieldOnCorrectTypeRule;
7
use Digia\GraphQL\Validation\Rule\FragmentsOnCompositeTypesRule;
8
use Digia\GraphQL\Validation\Rule\KnownArgumentNamesRule;
9
use Digia\GraphQL\Validation\Rule\KnownDirectivesRule;
10
use Digia\GraphQL\Validation\Rule\KnownFragmentNamesRule;
11
use Digia\GraphQL\Validation\Rule\KnownTypeNamesRule;
12
use Digia\GraphQL\Validation\Rule\LoneAnonymousOperationRule;
13
use Digia\GraphQL\Validation\Rule\NoFragmentCyclesRule;
14
use Digia\GraphQL\Validation\Rule\NoUndefinedVariablesRule;
15
use Digia\GraphQL\Validation\Rule\NoUnusedFragmentsRule;
16
use Digia\GraphQL\Validation\Rule\OverlappingFieldsCanBeMergedRule;
17
use League\Container\ServiceProvider\AbstractServiceProvider;
18
19
class RulesProvider extends AbstractServiceProvider
20
{
21
    /**
22
     * @var array
23
     */
24
    protected $provides = [
25
        ExecutableDefinitionRule::class,
26
        FieldOnCorrectTypeRule::class,
27
        FragmentsOnCompositeTypesRule::class,
28
        KnownArgumentNamesRule::class,
29
        KnownDirectivesRule::class,
30
        KnownFragmentNamesRule::class,
31
        KnownTypeNamesRule::class,
32
        LoneAnonymousOperationRule::class,
33
        NoFragmentCyclesRule::class,
34
        NoUndefinedVariablesRule::class,
35
        NoUnusedFragmentsRule::class,
36
        OverlappingFieldsCanBeMergedRule::class,
37
    ];
38
39
    /**
40
     * @inheritdoc
41
     */
42
    public function register()
43
    {
44
        foreach ($this->provides as $className) {
45
            $this->container->add($className, $className, true/* $shared */);
46
        }
47
    }
48
}
49