LaravelDbEventsServiceProvider::register()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 7
c 1
b 0
f 0
ccs 6
cts 6
cp 1
rs 9.4285
cc 1
eloc 5
nc 1
nop 0
crap 1
1
<?php
2
namespace ShiftOneLabs\LaravelDbEvents;
3
4
use Illuminate\Support\ServiceProvider;
5
6
class LaravelDbEventsServiceProvider extends ServiceProvider
7
{
8
9
    /**
10
     * Register any application services.
11
     *
12
     * @return void
13
     */
14 59
    public function register()
15
    {
16 59
        $this->registerConnector('mysql', 'ShiftOneLabs\LaravelDbEvents\Extension\Database\Connectors\MySqlConnector');
17 59
        $this->registerConnector('pgsql', 'ShiftOneLabs\LaravelDbEvents\Extension\Database\Connectors\PostgresConnector');
18 59
        $this->registerConnector('sqlite', 'ShiftOneLabs\LaravelDbEvents\Extension\Database\Connectors\SQLiteConnector');
19 59
        $this->registerConnector('sqlsrv', 'ShiftOneLabs\LaravelDbEvents\Extension\Database\Connectors\SqlServerConnector');
20 59
    }
21
22
    /**
23
     * Register any application services.
24
     *
25
     * @return void
26
     */
27
    public function registerConnector($driver, $class)
28
    {
29 59
        $this->app->bind('db.connector.'.$driver, function ($app) use ($class) {
30 55
            $connector = new $class();
31
32 55
            if ($app->bound('events')) {
33 55
                $connector->setEventDispatcher($app['events']);
34 55
            }
35
36 55
            return $connector;
37 59
        });
38 59
    }
39
}
40