Completed
Pull Request — master (#869)
by Asmir
10:42
created

DefaultDriverFactory::createDriver()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.9765

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 3
cts 8
cp 0.375
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 8
nc 2
nop 2
crap 2.9765
1
<?php
2
3
namespace JMS\Serializer\Builder;
4
5
use Doctrine\Common\Annotations\Reader;
6
use JMS\Serializer\Metadata\Driver\AnnotationDriver;
7
use JMS\Serializer\Metadata\Driver\XmlDriver;
8
use JMS\Serializer\Metadata\Driver\YamlDriver;
9
use Metadata\Driver\DriverChain;
10
use Metadata\Driver\FileLocator;
11
12
class DefaultDriverFactory implements DriverFactoryInterface
13
{
14 29
    public function createDriver(array $metadataDirs, Reader $annotationReader)
15
    {
16 29
        if (!empty($metadataDirs)) {
17
            $fileLocator = new FileLocator($metadataDirs);
18
19
            return new DriverChain(array(
20
                new YamlDriver($fileLocator),
21
                new XmlDriver($fileLocator),
22
                new AnnotationDriver($annotationReader),
23
            ));
24
        }
25
26 29
        return new AnnotationDriver($annotationReader);
27
    }
28
}
29