ElasticsearchMigrationServiceProvider   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
eloc 21
dl 0
loc 51
ccs 22
cts 22
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 30 1
A register() 0 4 1
1
<?php
2
namespace Triadev\EsMigration\Provider;
3
4
use Illuminate\Support\ServiceProvider;
5
use Triadev\EsMigration\Console\Commands\ImportFileMigrations;
6
use Triadev\EsMigration\Contract\ElasticsearchMigrationContract;
7
use Triadev\EsMigration\ElasticsearchMigration;
8
9
class ElasticsearchMigrationServiceProvider extends ServiceProvider
10
{
11
    /**
12
     * Bootstrap the application events.
13
     *
14
     * @return void
15
     */
16 63
    public function boot()
17
    {
18 63
        $source = realpath(__DIR__ . '/../Config/config.php');
19
    
20 63
        $this->publishes([
21 63
            __DIR__ . '/../Config/config.php' => config_path('triadev-elasticsearch-migration.php'),
22 63
        ], 'config');
23
    
24 63
        $this->mergeConfigFrom($source, 'triadev-elasticsearch-migration');
25
        
26 63
        $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
27
        
28 63
        $this->commands([
29 63
            ImportFileMigrations::class
30
        ]);
31
    
32 63
        $this->app->bind(
33 63
            \Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationContract::class,
34
            function () {
35 63
                return app()->make(
36 63
                    \Triadev\EsMigration\Business\Repository\ElasticsearchMigration::class
37
                );
38 63
            }
39
        );
40
    
41 63
        $this->app->bind(
42 63
            \Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepContract::class,
43
            function () {
44 63
                return app()->make(
45 63
                    \Triadev\EsMigration\Business\Repository\ElasticsearchMigrationStep::class
46
                );
47 63
            }
48
        );
49 63
    }
50
    
51
    /**
52
     * Register bindings in the container.
53
     *
54
     * @return void
55
     */
56 63
    public function register()
57
    {
58
        $this->app->singleton(ElasticsearchMigrationContract::class, function () {
59 63
            return app()->make(ElasticsearchMigration::class);
60 63
        });
61 63
    }
62
}
63