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

RulesProvider   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 26
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 League\Container\ServiceProvider\AbstractServiceProvider;
17
18
class RulesProvider extends AbstractServiceProvider
19
{
20
    /**
21
     * @var array
22
     */
23
    protected $provides = [
24
        ExecutableDefinitionRule::class,
25
        FieldOnCorrectTypeRule::class,
26
        FragmentsOnCompositeTypesRule::class,
27
        KnownArgumentNamesRule::class,
28
        KnownDirectivesRule::class,
29
        KnownFragmentNamesRule::class,
30
        KnownTypeNamesRule::class,
31
        LoneAnonymousOperationRule::class,
32
        NoFragmentCyclesRule::class,
33
        NoUndefinedVariablesRule::class,
34
        NoUnusedFragmentsRule::class,
35
    ];
36
37
    /**
38
     * @inheritdoc
39
     */
40
    public function register()
41
    {
42
        foreach ($this->provides as $className) {
43
            $this->container->add($className, $className, true/* $shared */);
44
        }
45
    }
46
}
47