MultiResultSetAdapter::valid()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 1
c 1
b 0
f 0
nc 2
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Foolz\SphinxQL\Drivers\Pdo;
4
5
use Foolz\SphinxQL\Drivers\MultiResultSetAdapterInterface;
6
use Foolz\SphinxQL\Drivers\ResultSet;
7
use PDOStatement;
8
9
class MultiResultSetAdapter implements MultiResultSetAdapterInterface
10
{
11
    /**
12
     * @var bool
13
     */
14
    protected $valid = true;
15
16
    /**
17
     * @var PDOStatement
18
     */
19
    protected $statement;
20
21
    /**
22
     * @param PDOStatement $statement
23
     */
24
    public function __construct(PDOStatement $statement)
25
    {
26
        $this->statement = $statement;
27
    }
28
29
    /**
30
     * @inheritdoc
31
     */
32
    public function getNext()
33
    {
34
        if (
35
            !$this->valid() ||
36
            !$this->statement->nextRowset()
37
        ) {
38
            $this->valid = false;
39
        }
40
    }
41
42
    /**
43
     * @inheritdoc
44
     */
45
    public function current()
46
    {
47
        return new ResultSet(new ResultSetAdapter($this->statement));
48
    }
49
50
    /**
51
     * @inheritdoc
52
     */
53
    public function valid()
54
    {
55
        return $this->statement && $this->valid;
56
    }
57
}
58