Passed
Push — master ( 70c8fa...dac2c3 )
by noitran
09:31
created

ExprQueue   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Test Coverage

Coverage 57.14%

Importance

Changes 0
Metric Value
wmc 2
eloc 7
dl 0
loc 21
ccs 4
cts 7
cp 0.5714
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A enqueue() 0 12 2
1
<?php
2
3
namespace Noitran\RQL\Queues;
4
5
use Noitran\RQL\Expressions\AbstractExpr;
6
use SplQueue;
7
use Noitran\RQL\Contracts\Expression\ExprInterface;
8
use Noitran\RQL\Contracts\Queue\QueueInterface;
9
use Noitran\RQL\Exceptions\ExpressionException;
10
11
class ExprQueue extends SplQueue implements QueueInterface
12
{
13
    /**
14
     * @param AbstractExpr $exprClass
15
     *
16
     * @throws ExpressionException
17
     *
18
     * @return ExprQueue
19
     */
20 12
    public function enqueue($exprClass): ExprQueue
21
    {
22 12
        if (! $exprClass instanceof ExprInterface) {
0 ignored issues
show
introduced by
$exprClass is always a sub-type of Noitran\RQL\Contracts\Expression\ExprInterface.
Loading history...
23
            throw new ExpressionException(sprintf(
24
                'The $exprClass variable is not an instance of %s.',
25
                ExprInterface::class
26
            ));
27
        }
28
29 12
        parent::enqueue($exprClass);
30
31 12
        return $this;
32
    }
33
}
34