Completed
Pull Request — master (#34)
by Márk
07:59
created

UriFactoryDiscovery::find()   A

Complexity

Conditions 2
Paths 3

Size

Total Lines 14
Code Lines 9

Duplication

Lines 14
Ratio 100 %

Code Coverage

Tests 3
CRAP Score 2.9766

Importance

Changes 2
Bugs 1 Features 1
Metric Value
c 2
b 1
f 1
dl 14
loc 14
ccs 3
cts 8
cp 0.375
rs 9.4286
cc 2
eloc 9
nc 3
nop 0
crap 2.9766
1
<?php
2
3
namespace Http\Discovery;
4
5
use Http\Message\UriFactory;
6
7
/**
8
 * Finds a URI Factory.
9
 *
10
 * @author David de Boer <[email protected]>
11
 */
12 View Code Duplication
final class UriFactoryDiscovery extends ClassDiscovery
13
{
14
    /**
15
     * Finds a URI Factory.
16
     *
17
     * @return UriFactory
18
     */
19 1
    public static function find()
20
    {
21
        try {
22 1
            $uriFactory = static::findOneByType('Http\Message\UriFactory');
23
24 1
            return new $uriFactory();
25
        } catch (NotFoundException $e) {
26
            throw new NotFoundException(
27
                'No factories found. Install php-http/message to use Guzzle or Diactoros factories.',
28
                0,
29
                $e
30
            );
31
        }
32
    }
33
}
34