Override   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 51
Duplicated Lines 13.73 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 1
cbo 1
dl 7
loc 51
ccs 15
cts 15
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 7 7 1
A build() 0 11 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 LaravelDoctrine\Fluent\Builders\Overrides;
4
5
use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder;
6
use Doctrine\ORM\Mapping\NamingStrategy;
7
use LaravelDoctrine\Fluent\Buildable;
8
use LaravelDoctrine\Fluent\Builders\Delay;
9
10
class Override implements Buildable, Delay
11
{
12
    /**
13
     * @var string
14
     */
15
    protected $name;
16
17
    /**
18
     * @var callable
19
     */
20
    protected $callback;
21
22
    /**
23
     * @var ClassMetadataBuilder
24
     */
25
    protected $builder;
26
27
    /**
28
     * @var NamingStrategy
29
     */
30
    protected $namingStrategy;
31
32
    /**
33
     * @param ClassMetadataBuilder $builder
34
     * @param NamingStrategy       $namingStrategy
35
     * @param string               $name
36
     * @param callable             $callback
37
     */
38 5 View Code Duplication
    public function __construct(ClassMetadataBuilder $builder, NamingStrategy $namingStrategy, $name, callable $callback)
39
    {
40 5
        $this->builder        = $builder;
41 5
        $this->callback       = $callback;
42 5
        $this->name           = $name;
43 5
        $this->namingStrategy = $namingStrategy;
44 5
    }
45
46
    /**
47
     * Execute the build process
48
     */
49 5
    public function build()
50
    {
51 5
        $builder = OverrideBuilderFactory::create(
52 5
            $this->builder,
53 5
            $this->namingStrategy,
54 5
            $this->name,
55 5
            $this->callback
56 5
        );
57
58 5
        $builder->build();
59 5
    }
60
}
61