AbstractBuilder   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 6
Bugs 1 Features 0
Metric Value
wmc 5
c 6
b 1
f 0
lcom 1
cbo 2
dl 0
loc 46
ccs 10
cts 10
cp 1
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getBuilder() 0 4 1
A getClassMetadata() 0 4 1
A getNamingStrategy() 0 4 1
A __construct() 0 5 2
1
<?php
2
3
namespace LaravelDoctrine\Fluent\Builders;
4
5
use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder;
6
use Doctrine\ORM\Mapping\ClassMetadata;
7
use Doctrine\ORM\Mapping\DefaultNamingStrategy;
8
use Doctrine\ORM\Mapping\NamingStrategy;
9
10
abstract class AbstractBuilder
11
{
12
    /**
13
     * @var ClassMetadataBuilder
14
     */
15
    protected $builder;
16
17
    /**
18
     * @var NamingStrategy
19
     */
20
    protected $namingStrategy;
21
22
    /**
23
     * @param ClassMetadataBuilder $builder
24
     * @param NamingStrategy       $namingStrategy
25
     */
26 82
    public function __construct(ClassMetadataBuilder $builder, NamingStrategy $namingStrategy = null)
27
    {
28 82
        $this->builder        = $builder;
29 82
        $this->namingStrategy = $namingStrategy ?: new DefaultNamingStrategy;
30 82
    }
31
32
    /**
33
     * @return ClassMetadataBuilder
34
     */
35 42
    public function getBuilder()
36
    {
37 42
        return $this->builder;
38
    }
39
40
    /**
41
     * @return ClassMetadata
42
     */
43 30
    public function getClassMetadata()
44
    {
45 30
        return $this->builder->getClassMetadata();
46
    }
47
48
    /**
49
     * @return NamingStrategy
50
     */
51 22
    public function getNamingStrategy()
52
    {
53 22
        return $this->namingStrategy;
54
    }
55
}
56