Passed
Push — master ( 1ba30a...8ac47c )
by Luis
01:05 queued 12s
created

EdgesBuilder::buildEdgesFor()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3

Importance

Changes 0
Metric Value
cc 3
eloc 6
nc 3
nop 3
dl 0
loc 10
ccs 7
cts 7
cp 1
crap 3
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
/**
3
 * This source file is subject to the license that is bundled with this package in the file LICENSE.
4
 */
5
6
namespace PhUml\Graphviz\Builders;
7
8
use PhUml\Code\ClassDefinition;
9
use PhUml\Code\Codebase;
10
use PhUml\Graphviz\Edge;
11
12
/**
13
 * It discovers associations between classes/interfaces by inspecting
14
 *
15
 * 1. The properties of a class
16
 * 2. The parameters injected through the constructor of a class
17
 *
18
 * It creates edges between the definitions when appropriate
19
 */
20
interface EdgesBuilder
21
{
22
    /** @return Edge[]*/
23
    public function fromProperties(ClassDefinition $class, Codebase $codebase): array;
24
25
    /** @return Edge[] */
26
    public function fromConstructor(ClassDefinition $class, Codebase $codebase): array;
27
}
28