Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Passed
Pull Request — 0.12 (#553)
by
unknown
20:10 queued 09:47
created

RelayProcessor   A

Complexity

Total Complexity 14

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 14
eloc 23
dl 0
loc 50
ccs 19
cts 19
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A process() 0 7 2
C processRelayConfigs() 0 29 12
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Overblog\GraphQLBundle\Config\Processor;
6
7
use Overblog\GraphQLBundle\Definition\Builder\MappingInterface;
8
use Overblog\GraphQLBundle\Relay\Connection\ConnectionDefinition;
9
use Overblog\GraphQLBundle\Relay\Mutation\InputDefinition;
10
use Overblog\GraphQLBundle\Relay\Mutation\PayloadDefinition;
11
use Overblog\GraphQLBundle\Relay\Node\NodeDefinition;
12
13
final class RelayProcessor implements ProcessorInterface
14
{
15
    public const RELAY_DEFINITION_MAPPING = [
16
        'relay-connection' => ConnectionDefinition::class,
17
        'relay-node' => NodeDefinition::class,
18
        'relay-mutation-input' => InputDefinition::class,
19
        'relay-mutation-payload' => PayloadDefinition::class,
20
    ];
21
22
    /**
23
     * {@inheritdoc}
24
     */
25 42
    public static function process(array $configs): array
26
    {
27 42
        foreach (static::RELAY_DEFINITION_MAPPING as $typeName => $definitionBuilderClass) {
28 42
            $configs = self::processRelayConfigs($typeName, $definitionBuilderClass, $configs);
29
        }
30
31 42
        return $configs;
32
    }
33
34 42
    private static function processRelayConfigs($typeName, $definitionBuilderClass, array $configs)
35
    {
36 42
        foreach ($configs as $name => $config) {
37 42
            if (isset($config['type']) && \is_string($config['type']) && $typeName === $config['type']) {
38 19
                $configInherits = isset($config['inherits']) && \is_array($config['inherits']) ? $config['inherits'] : [];
39
40 19
                $config = isset($config['config']) && \is_array($config['config']) ? $config['config'] : [];
41
42 19
                if (empty($config['class_name'])) {
43 19
                    $config['class_name'] = \sprintf('%sType', $name);
44
                }
45 19
                if (empty($config['name'])) {
46 18
                    $config['name'] = $name;
47
                }
48
49
                /** @var MappingInterface $builder */
50 19
                $builder = new $definitionBuilderClass();
51
52 19
                $connectionDefinition = $builder->toMappingDefinition($config);
53
54 19
                if (!empty($configInherits)) {
55 1
                    $connectionDefinition[$name]['inherits'] = $configInherits;
56
                }
57
58 19
                $configs = \array_replace($configs, $connectionDefinition);
59
            }
60
        }
61
62 42
        return $configs;
63
    }
64
}
65