Completed
Push — master ( c532ca...92abf0 )
by Tobias
03:55
created

DiscoveryStrategy   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 1
cbo 0
dl 0
loc 29
ccs 0
cts 7
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A getCandidates() 0 8 2
1
<?php
2
3
namespace Nyholm\Psr7\Httplug;
4
5
use Http\Discovery\Strategy\DiscoveryStrategy as HttplugDiscoveryStrategy;
6
use Nyholm\Psr7\Factory\MessageFactory;
7
use Nyholm\Psr7\Factory\StreamFactory;
8
use Nyholm\Psr7\Factory\UriFactory;
9
10
/**
11
 * A discovery strategy to use our factories with HTTPlug auto discovery.
12
 *
13
 * @author Tobias Nyholm <[email protected]>
14
 */
15
class DiscoveryStrategy implements HttplugDiscoveryStrategy
16
{
17
    /**
18
     * @var array
19
     */
20
    private static $classes = [
21
        'Http\Message\MessageFactory' => [
22
            ['class' => MessageFactory::class],
23
        ],
24
        'Http\Message\StreamFactory' => [
25
            ['class' => StreamFactory::class],
26
        ],
27
        'Http\Message\UriFactory' => [
28
            ['class' => UriFactory::class],
29
        ],
30
    ];
31
32
    /**
33
     * {@inheritdoc}
34
     */
35
    public static function getCandidates($type)
36
    {
37
        if (isset(self::$classes[$type])) {
38
            return self::$classes[$type];
39
        }
40
41
        return [];
42
    }
43
}
44