MemoryPersistenceHandler::setSpiderId()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 0
nc 1
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * @author Matthijs van den Bos <[email protected]>
4
 * @copyright 2013 Matthijs van den Bos
5
 */
6
7
namespace VDB\Spider\PersistenceHandler;
8
9
use VDB\Spider\Resource;
10
11
class MemoryPersistenceHandler implements PersistenceHandlerInterface
12
{
13
    /**
14
     * @var Resource[]
15
     */
16
    private $resources = array();
17
18
    public function setSpiderId($spiderId)
19
    {
20
        // memory handler ignores this. Only interesting for true persistence as some kind of key or prefix
21
    }
22
23
    public function count()
24
    {
25
        return count($this->resources);
26
    }
27
28
    public function persist(Resource $resource)
29
    {
30
        $this->resources[] = $resource;
31
    }
32
33
    /**
34
     * @return Resource
35
     */
36
    public function current()
37
    {
38
        return current($this->resources);
39
    }
40
41
    /**
42
     * @return Resource|false
43
     */
44
    public function next()
45
    {
46
        next($this->resources);
47
    }
48
49
    /**
50
     * @return int
51
     */
52
    public function key()
53
    {
54
        return key($this->resources);
55
    }
56
57
    /**
58
     * @return boolean
59
     */
60
    public function valid()
61
    {
62
        return (bool)current($this->resources);
63
    }
64
65
    /**
66
     * @return void
67
     */
68
    public function rewind()
69
    {
70
        reset($this->resources);
71
    }
72
}
73