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

AbstractFactory::getInstance()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2
Metric Value
dl 0
loc 8
ccs 4
cts 4
cp 1
rs 9.4285
cc 2
eloc 4
nc 2
nop 2
crap 2
1
<?php
2
namespace Mcustiel\PowerRoute\Common\Factories;
3
4
use Mcustiel\PowerRoute\Common\Conditions\ClassArgumentObject;
5
6
abstract class AbstractFactory extends Mapping
7
{
8
    /**
9
     *
10
     * @param array $config
11
     *
12
     * @return \Mcustiel\PowerRoute\Common\Conditions\ClassArgumentObject
13
     * @throws \Exception
14
     */
15 4
    public function createFromConfig(array $config)
16
    {
17 4
        $class = key($config);
18 4
        $this->checkMappingIsValid($class);
19
20 4
        return new ClassArgumentObject($this->mapping[$class]->getInstance(), $config[$class]);
21
    }
22
}
23