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
Pull Request — master (#7)
by Jérémiah
09:02
created

AbstractConfigSolution::solveResolveCallbackArgs()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 22
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 22
ccs 13
cts 13
cp 1
rs 9.2
cc 3
eloc 13
nc 2
nop 0
crap 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 33
    public function setExpressionLanguage($expressionLanguage)
55
    {
56 33
        $this->expressionLanguage = $expressionLanguage;
57
58 33
        return $this;
59
    }
60
61
    /**
62
     * @param TypeResolver $typeResolver
63
     *
64
     * @return AbstractConfigSolution
65
     */
66 33
    public function setTypeResolver($typeResolver)
67
    {
68 33
        $this->typeResolver = $typeResolver;
69
70 33
        return $this;
71
    }
72
73
    /**
74
     * @param FieldResolver $fieldResolver
75
     *
76
     * @return AbstractConfigSolution
77
     */
78 33
    public function setFieldResolver($fieldResolver)
79
    {
80 33
        $this->fieldResolver = $fieldResolver;
81
82 33
        return $this;
83
    }
84
85
    /**
86
     * @param ArgResolver $argResolver
87
     *
88
     * @return AbstractConfigSolution
89
     */
90 33
    public function setArgResolver($argResolver)
91
    {
92 33
        $this->argResolver = $argResolver;
93
94 33
        return $this;
95
    }
96
97
    /**
98
     * @param ConfigResolver $configResolver
99
     *
100
     * @return AbstractConfigSolution
101
     */
102 33
    public function setConfigResolver($configResolver)
103
    {
104 33
        $this->configResolver = $configResolver;
105
106 33
        return $this;
107
    }
108
109 24
    protected function solveUsingExpressionLanguageIfNeeded($expression, array $values = [])
110
    {
111 24
        if (is_string($expression) &&  0 === strpos($expression, '@=')) {
112 21
            return $this->expressionLanguage->evaluate(substr($expression, 2), $values);
113
        }
114
115 8
        return $expression;
116
    }
117
118 23
    protected function solveResolveCallbackArgs()
119
    {
120 23
        $args = func_get_args();
121 23
        $optionResolver = new OptionsResolver();
122 23
        $optionResolver->setDefaults([null, null, null]);
123
124 23
        $args = $optionResolver->resolve($args);
125
126 23
        $arg1IsResolveInfo = $args[1] instanceof ResolveInfo;
127
128 23
        $value = $args[0];
129
        /** @var ResolveInfo $info */
130 23
        $info = $arg1IsResolveInfo ? $args[1] : $args[2];
131
        /** @var Argument $resolverArgs */
132 23
        $resolverArgs = new Argument(!$arg1IsResolveInfo ? $args[1] : []);
133
134
        return [
135 23
            'value' => $value,
136 23
            'args' => $resolverArgs,
137 23
            'info' => $info,
138 23
        ];
139
    }
140
}
141