Passed
Branch 1.0 (f7255b)
by Vladimir
06:00
created

Factory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 4
dl 0
loc 24
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A create() 0 11 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace FondBot\Application;
6
7
use FondBot\Drivers\Driver;
8
use FondBot\Channels\Channel;
9
use FondBot\Contracts\Container;
10
use FondBot\Drivers\DriverManager;
11
12
class Factory
13
{
14
    /**
15
     * Create kernel instance.
16
     *
17
     * @param Container $container
18
     * @param Channel   $channel
19
     * @param array     $request
20
     * @param array     $headers
21
     *
22
     * @return Kernel
23
     */
24 1
    public function create(Container $container, Channel $channel, array $request, array $headers)
25
    {
26
        /** @var Driver $driver */
27 1
        $driver = $container->make(DriverManager::class)->get($channel);
28
29 1
        $driver->fill($channel->getParameters(), $request, $headers);
30
31 1
        Kernel::createInstance($container, $channel, $driver);
32
33 1
        return Kernel::getInstance();
34
    }
35
}
36