Completed
Push — master ( eda3d5...e52893 )
by Westin
10:43
created

CacheMapper   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 1
dl 0
loc 25
ccs 10
cts 10
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
C getFactoryClassName() 0 22 9
1
<?php
2
declare(strict_types=1);
3
4
namespace WShafer\PSR11FlySystem\Cache;
5
6
use WShafer\PSR11FlySystem\MapperAbstract;
7
8
class CacheMapper extends MapperAbstract
9
{
10 5
    public function getFactoryClassName(string $type)
11
    {
12 5
        if (class_exists($type) && $type != 'memcached') {
13 1
            return $type;
14
        }
15
16
        switch ($type) {
17 4
            case 'adaptor':
18 1
            case 'adapter':
19 3
                return AdaptorCacheFactory::class;
20 1
            case 'psr6':
21 2
                return Psr6CacheFactory::class;
22 1
            case 'memory':
23
                return MemoryCacheFactory::class;
24
            case 'predis':
25 1
                return PredisCacheFactory::class;
26
            case 'memcached':
27
                return MemcachedCacheFactory::class;
28
        }
29
30
        return null;
31
    }
32
}
33