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 (#678)
by Henrique
04:27
created

StandardResult::with()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 10
c 0
b 0
f 0
ccs 8
cts 8
cp 1
rs 9.4285
cc 1
eloc 7
nc 1
nop 2
crap 1
1
<?php
2
3
/*
4
 * This file is part of Respect/Validation.
5
 *
6
 * (c) Alexandre Gomes Gaigalas <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the "LICENSE.md"
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Respect\Validation;
13
14
use Respect\Validation\Exceptions\ComponentException;
15
16
/**
17
 * Class to handle validation.
18
 *
19
 * @author Henrique Moody <[email protected]>
20
 */
21
final class StandardResult implements Result
22
{
23
    /**
24
     * @var bool
25
     */
26
    private $isValid;
27
28
    /**
29
     * @var mixed
30
     */
31
    private $input;
32
33
    /**
34
     * @var Rule
35
     */
36
    private $rule;
37
38
    /**
39
     * @var Rule[]
40
     */
41
    private $children;
42
43
    /**
44
     * @var array
45
     */
46
    private $properties;
47
48
    /**
49
     * @param bool   $isValid
50
     * @param mixed  $input
51
     * @param Rule   $rule
52
     * @param array  $properties
53
     * @param Rule[] $children
54
     */
55 11
    public function __construct($isValid, $input, Rule $rule, array $properties = [], array $children = [])
56
    {
57 11
        $this->checkChildrenInstance($children);
0 ignored issues
show
Documentation introduced by
$children is of type array<integer,object<Respect\Validation\Rule>>, but the function expects a array<integer,object<Respect\Validation\Result>>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
58
59 10
        $this->isValid = $isValid;
60 10
        $this->input = $input;
61 10
        $this->rule = $rule;
62 10
        $this->properties = $properties;
63 10
        $this->children = $children;
64 10
    }
65
66
    /**
67
     * @param Result[] $children
68
     */
69 11
    private function checkChildrenInstance(array $children)
70
    {
71 11
        foreach ($children as $child) {
72 3
            if ($child instanceof Result) {
73 3
                continue;
74
            }
75
76 1
            throw new ComponentException('Every child of StandardResult must implement Result');
77 10
        }
78 10
    }
79
80
    /**
81
     * {@inheritdoc}
82
     */
83 8
    public function isValid()
84
    {
85 8
        return $this->isValid;
86
    }
87
88
    /**
89
     * {@inheritdoc}
90
     */
91 8
    public function getInput()
92
    {
93 8
        return $this->input;
94
    }
95
96
    /**
97
     * {@inheritdoc}
98
     */
99 8
    public function getRule()
100
    {
101 8
        return $this->rule;
102
    }
103
104
    /**
105
     * {@inheritdoc}
106
     */
107 8
    public function getChildren()
108
    {
109 8
        return $this->children;
110
    }
111
112
    /**
113
     * {@inheritdoc}
114
     */
115 8
    public function getProperties()
116
    {
117 8
        return $this->properties;
118
    }
119
120
    /**
121
     * {@inheritdoc}
122
     */
123 7
    public function with($isValid, array $properties = [])
124
    {
125 7
        return new self(
126 7
            $isValid,
127 7
            $this->getInput(),
128 7
            $this->getRule(),
129 7
            $properties + $this->getProperties(),
130 7
            $this->getChildren()
131 7
        );
132
    }
133
}
134