Selector::discovery()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 2
nop 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Classify selector
4
 * User: moyo
5
 * Date: 2018/11/21
6
 * Time: 4:57 PM
7
 */
8
9
namespace Carno\Cluster\Classify;
10
11
use Carno\Cluster\Discovery\Discovered;
12
use Carno\Cluster\Exception\UnassignedDiscoveryException;
13
14
class Selector implements Classified
15
{
16
    /**
17
     * @var Discovered
18
     */
19
    private $discoveries = [];
20
21
    /**
22
     * @param string $scene
23
     * @return Discovered
24
     */
25
    public function discovery(string $scene) : Discovered
26
    {
27
        if (isset($this->discoveries[$scene])) {
28
            return $this->discoveries[$scene];
29
        }
30
        throw new UnassignedDiscoveryException;
31
    }
32
33
    /**
34
     * @param string $scene
35
     * @param Discovered $discovery
36
     */
37
    public function assigning(string $scene, Discovered $discovery) : void
38
    {
39
        $this->discoveries[$scene] = $discovery;
40
    }
41
}
42