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

Completed
Push — master ( abccf6...a893b0 )
by Jérémiah
12:23
created

AbstractConfigSolution   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 123
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 3
Bugs 1 Features 0
Metric Value
wmc 12
c 3
b 1
f 0
lcom 1
cbo 3
dl 0
loc 123
ccs 34
cts 34
cp 1
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A setExpressionLanguage() 0 6 1
A setTypeResolver() 0 6 1
A setFieldResolver() 0 6 1
A setArgResolver() 0 6 1
A setConfigResolver() 0 6 1
A solveUsingExpressionLanguageIfNeeded() 0 8 2
A isExpression() 0 4 2
A solveResolveCallbackArgs() 0 22 3
1
<?php
2
3
/*
4
 * This file is part of the OverblogGraphQLBundle package.
5
 *
6
 * (c) Overblog <http://github.com/overblog/>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Overblog\GraphQLBundle\Resolver\Config;
13
14
use GraphQL\Type\Definition\ResolveInfo;
15
use Overblog\GraphQLBundle\Definition\Argument;
16
use Overblog\GraphQLBundle\Resolver\ArgResolver;
17
use Overblog\GraphQLBundle\Resolver\ConfigResolver;
18
use Overblog\GraphQLBundle\Resolver\FieldResolver;
19
use Overblog\GraphQLBundle\Resolver\TypeResolver;
20
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
21
use Symfony\Component\OptionsResolver\OptionsResolver;
22
23
abstract class AbstractConfigSolution implements ConfigSolutionInterface
24
{
25
    /**
26
     * @var ExpressionLanguage
27
     */
28
    protected $expressionLanguage;
29
30
    /**
31
     * @var TypeResolver
32
     */
33
    protected $typeResolver;
34
35
    /**
36
     * @var FieldResolver
37
     */
38
    protected $fieldResolver;
39
40
    /**
41
     * @var ArgResolver
42
     */
43
    protected $argResolver;
44
45
    /**
46
     * @var ConfigResolver
47
     */
48
    protected $configResolver;
49
    /**
50
     * @param ExpressionLanguage $expressionLanguage
51
     *
52
     * @return AbstractConfigSolution
53
     */
54 43
    public function setExpressionLanguage($expressionLanguage)
55
    {
56 43
        $this->expressionLanguage = $expressionLanguage;
57
58 43
        return $this;
59
    }
60
61
    /**
62
     * @param TypeResolver $typeResolver
63
     *
64
     * @return AbstractConfigSolution
65
     */
66 43
    public function setTypeResolver($typeResolver)
67
    {
68 43
        $this->typeResolver = $typeResolver;
69
70 43
        return $this;
71
    }
72
73
    /**
74
     * @param FieldResolver $fieldResolver
75
     *
76
     * @return AbstractConfigSolution
77
     */
78 43
    public function setFieldResolver($fieldResolver)
79
    {
80 43
        $this->fieldResolver = $fieldResolver;
81
82 43
        return $this;
83
    }
84
85
    /**
86
     * @param ArgResolver $argResolver
87
     *
88
     * @return AbstractConfigSolution
89
     */
90 43
    public function setArgResolver($argResolver)
91
    {
92 43
        $this->argResolver = $argResolver;
93
94 43
        return $this;
95
    }
96
97
    /**
98
     * @param ConfigResolver $configResolver
99
     *
100
     * @return AbstractConfigSolution
101
     */
102 43
    public function setConfigResolver($configResolver)
103
    {
104 43
        $this->configResolver = $configResolver;
105
106 43
        return $this;
107
    }
108
109 34
    protected function solveUsingExpressionLanguageIfNeeded($expression, array $values = [])
110
    {
111 34
        if ($this->isExpression($expression)) {
112 31
            return $this->expressionLanguage->evaluate(substr($expression, 2), $values);
113
        }
114
115 15
        return $expression;
116
    }
117
118 34
    protected function isExpression($expression)
119
    {
120 34
        return is_string($expression) &&  0 === strpos($expression, '@=');
121
    }
122
123 32
    protected function solveResolveCallbackArgs()
124
    {
125 32
        $args = func_get_args();
126 32
        $optionResolver = new OptionsResolver();
127 32
        $optionResolver->setDefaults([null, null, null]);
128
129 32
        $args = $optionResolver->resolve($args);
130
131 32
        $arg1IsResolveInfo = $args[1] instanceof ResolveInfo;
132
133 32
        $value = $args[0];
134
        /** @var ResolveInfo $info */
135 32
        $info = $arg1IsResolveInfo ? $args[1] : $args[2];
136
        /** @var Argument $resolverArgs */
137 32
        $resolverArgs = new Argument(!$arg1IsResolveInfo ? $args[1] : []);
138
139
        return [
140 32
            'value' => $value,
141 32
            'args' => $resolverArgs,
142 32
            'info' => $info,
143 32
        ];
144
    }
145
}
146