Completed
Push — master ( e7ff03...c01f78 )
by Peter
02:06
created

RuleCollection::set()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 2
crap 2
1
<?php
2
/**
3
 * AnimeDb package.
4
 *
5
 * @author    Peter Gribanov <[email protected]>
6
 * @copyright Copyright (c) 2011, Peter Gribanov
7
 */
8
namespace AnimeDb\SmartSleep;
9
10
use AnimeDb\SmartSleep\Rule\RuleInterface;
11
12
class RuleCollection
13
{
14
    /**
15
     * @var RuleInterface[]
16
     */
17
    protected $rules = [];
18
19
    /**
20
     * @param string $name
21
     * @param RuleInterface $rule
22
     */
23
    public function set($name, RuleInterface $rule)
24
    {
25
        $this->rules[$name] = $rule;
26
    }
27
28
    /**
29
     * @param string $name
30
     *
31
     * @return RuleInterface|null
32
     */
33
    public function get($name)
34
    {
35
        return isset($this->rules[$name]) ? clone $this->rules[$name] : null;
36
    }
37
38
    /**
39
     * @param string $name
40
     *
41
     * @return bool
42
     */
43
    public function has($name)
44
    {
45
        return isset($this->rules[$name]);
46
    }
47
}
48