Passed
Push — master ( 620416...a29fb4 )
by Rougin
02:02
created

ZapheusProvider   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
dl 0
loc 31
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A register() 0 7 1
A merge() 0 7 1
1
<?php
2
3
namespace App\Zapheus;
4
5
use Zapheus\Container\WritableInterface;
6
use Zapheus\Provider\ProviderInterface;
7
use Zapheus\Routing\RouterInterface;
8
9
/**
10
 * Zapheus Provider
11
 *
12
 * @package App
13
 * @author  Rougin Royce Gutib <[email protected]>
14
 */
15
class ZapheusProvider implements ProviderInterface
16
{
17
    /**
18
     * Registers the bindings in the container.
19
     *
20
     * @param  \Zapheus\Container\WritableInterface $container
21
     * @return \Zapheus\Container\ContainerInterface
22
     */
23 9
    public function register(WritableInterface $container)
24
    {
25 9
        $composite = new CompositeRouter;
26
27 9
        $container->set(get_class($composite), $composite);
28
29 9
        return $container;
30
    }
31
32
    /**
33
     * Merges two or more Routing\RouterInterface instances.
34
     *
35
     * @param  \Zapheus\Container\WritableInterface $container
36
     * @param  \Zapheus\Routing\RouterInterface     $router
37
     * @return \Zapheus\Container\WritableInterface
38
     */
39 9
    public static function merge(WritableInterface $container, RouterInterface $router)
40
    {
41 9
        $composite = __NAMESPACE__ . '\CompositeRouter';
42
43 9
        $result = $container->get($composite)->merge($router);
44
45 9
        return $container->set($composite, $result);
46
    }
47
}
48