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

ExprQueue::enqueue()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2.3149

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 12
ccs 4
cts 7
cp 0.5714
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 2.3149
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