Completed
Pull Request — master (#441)
by Salah
02:41
created

LaravelModulesServiceProvider   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 47
Duplicated Lines 17.02 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 95.24%

Importance

Changes 0
Metric Value
dl 8
loc 47
ccs 20
cts 21
cp 0.9524
rs 10
c 0
b 0
f 0
wmc 5
lcom 1
cbo 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 5 1
A register() 0 6 1
A setupStubPath() 0 10 2
A registerServices() 8 8 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace Nwidart\Modules;
4
5
use Nwidart\Modules\Support\Stub;
6
7
class LaravelModulesServiceProvider extends ModulesServiceProvider
8
{
9
    /**
10
     * Booting the package.
11
     */
12 177
    public function boot()
13
    {
14 177
        $this->registerNamespaces();
15 177
        $this->registerModules();
16 177
    }
17
18
    /**
19
     * Register the service provider.
20
     */
21 177
    public function register()
22
    {
23 177
        $this->registerServices();
24 177
        $this->setupStubPath();
25 177
        $this->registerProviders();
26 177
    }
27
28
    /**
29
     * Setup stub path.
30
     */
31 177
    public function setupStubPath()
32
    {
33 177
        Stub::setBasePath(__DIR__ . '/Commands/stubs');
34
35 177
        $this->app->booted(function ($app) {
36 177
            if ($app['modules']->config('stubs.enabled') === true) {
37
                Stub::setBasePath($app['modules']->config('stubs.path'));
38
            }
39 177
        });
40 177
    }
41
42
    /**
43
     * {@inheritdoc}
44
     */
45 View Code Duplication
    protected function registerServices()
46
    {
47 177
        $this->app->singleton('modules', function ($app) {
48 177
            $path = $app['config']->get('modules.paths.modules');
49
50 177
            return new \Nwidart\Modules\Laravel\Repository($app, $path);
51 177
        });
52 177
    }
53
}
54