Completed
Branch master (ed410a)
by Mariano
03:14
created

Mapping::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
namespace Mcustiel\PowerRoute\Common\Factories;
3
4
use Mcustiel\Creature\CreatorInterface;
5
6
class Mapping
7
{
8
    protected $mapping = [];
9
10 4
    public function __construct(array $mapping)
11
    {
12 4
        $this->mapping = array_merge($this->mapping, $mapping);
13 4
    }
14
15 4
    protected function checkMappingIsValid($mapping)
16
    {
17 4
        if (!isset($this->mapping[$mapping])) {
18
            throw new \Exception("Did not find a mapped class identified by $mapping");
19
        }
20 4
    }
21
22 3
    public function addMapping($identifier, CreatorInterface $creator)
23
    {
24 3
        $this->mapping[$identifier] = $creator;
25 3
    }
26
}
27