Completed
Push — master ( ae9c65...55772a )
by Asmir
07:43 queued 05:39
created

DefaultDriverFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 37.5%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 5
dl 0
loc 17
ccs 3
cts 8
cp 0.375
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A createDriver() 0 14 2
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