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

ZapheusProvider::merge()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 7
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 2
crap 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