Selector   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 26
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A discovery() 0 6 2
A assigning() 0 3 1
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