AdaptorMapper::getFactoryClassName()   C
last analyzed

Complexity

Conditions 11
Paths 11

Size

Total Lines 29
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 22
CRAP Score 11

Importance

Changes 0
Metric Value
dl 0
loc 29
ccs 22
cts 22
cp 1
rs 5.2653
c 0
b 0
f 0
cc 11
eloc 23
nc 11
nop 1
crap 11

How to fix   Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
declare(strict_types=1);
3
4
namespace WShafer\PSR11FlySystem\Adaptor;
5
6
use WShafer\PSR11FlySystem\MapperAbstract;
7
8
class AdaptorMapper extends MapperAbstract
9
{
10
    /**
11
     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
12
     */
13 11
    public function getFactoryClassName(string $type)
14
    {
15 11
        if (class_exists($type)) {
16 1
            return $type;
17
        }
18
19
        switch ($type) {
20 10
            case 'dropbox':
21 1
                return DropBoxAdapterFactory::class;
22 9
            case 's3':
23 1
                return S3AdapterFactory::class;
24 8
            case 'azure':
25 1
                return AzureAdapterFactory::class;
26 7
            case 'zip':
27 1
                return ZipArchiveAdaptorFactory::class;
28 6
            case 'memory':
29 1
                return MemoryAdaptorFactory::class;
30 5
            case 'ftp':
31 1
                return FtpAdaptorFactory::class;
32 4
            case 'sftp':
33 1
                return SftpAdaptorFactory::class;
34 3
            case 'local':
35 1
                return LocalAdaptorFactory::class;
36 2
            case 'null':
37 1
                return NullAdaptorFactory::class;
38
        }
39
40 1
        return null;
41
    }
42
}
43