Completed
Push — master ( 0a91cc...9dbdc0 )
by Patrick
03:06
created

LaravelDbEventsServiceProvider::boot()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

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