Completed
Push — master ( 3bd578...cfd7eb )
by Abdelrahman
02:01 queued 10s
created

AddressesServiceProvider   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 3

Importance

Changes 0
Metric Value
wmc 5
lcom 2
cbo 3
dl 0
loc 42
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A register() 0 12 3
A boot() 0 7 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Rinvex\Addresses\Providers;
6
7
use Rinvex\Addresses\Models\Address;
8
use Illuminate\Support\ServiceProvider;
9
use Rinvex\Support\Traits\ConsoleTools;
10
use Rinvex\Addresses\Console\Commands\MigrateCommand;
11
use Rinvex\Addresses\Console\Commands\PublishCommand;
12
use Rinvex\Addresses\Console\Commands\RollbackCommand;
13
14
class AddressesServiceProvider extends ServiceProvider
15
{
16
    use ConsoleTools;
17
18
    /**
19
     * The commands to be registered.
20
     *
21
     * @var array
22
     */
23
    protected $commands = [
24
        MigrateCommand::class => 'command.rinvex.addresses.migrate',
25
        PublishCommand::class => 'command.rinvex.addresses.publish',
26
        RollbackCommand::class => 'command.rinvex.addresses.rollback',
27
    ];
28
29
    /**
30
     * {@inheritdoc}
31
     */
32
    public function register()
33
    {
34
        // Merge config
35
        $this->mergeConfigFrom(realpath(__DIR__.'/../../config/config.php'), 'rinvex.addresses');
36
37
        // Bind eloquent models to IoC container
38
        $this->app->singleton('rinvex.addresses.address', $addressModel = $this->app['config']['rinvex.addresses.models.address']);
39
        $addressModel === Address::class || $this->app->alias('rinvex.addresses.address', Address::class);
40
41
        // Register console commands
42
        ! $this->app->runningInConsole() || $this->registerCommands();
43
    }
44
45
    /**
46
     * {@inheritdoc}
47
     */
48
    public function boot()
49
    {
50
        // Publish Resources
51
        $this->publishesConfig('rinvex/laravel-addresses');
52
        $this->publishesMigrations('rinvex/laravel-addresses');
53
        ! $this->autoloadMigrations('rinvex.addresses') || $this->loadMigrationsFrom(__DIR__.'/../../database/migrations');
0 ignored issues
show
Bug introduced by
The method autoloadMigrations() does not seem to exist on object<Rinvex\Addresses\...dressesServiceProvider>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
54
    }
55
}
56