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

AbstractFactory::createInstance()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1
Metric Value
dl 0
loc 9
ccs 5
cts 5
cp 1
rs 9.6666
cc 1
eloc 5
nc 1
nop 3
crap 1
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