Issues (222)

src/Processors/GraphvizConfiguration.php (3 issues)

Labels
Severity
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\Processors;
7
8
use PhUml\Graphviz\Builders\DirectedEdgesBuilder;
9
use PhUml\Graphviz\Builders\EdgesBuilder;
10
use PhUml\Graphviz\Builders\NoEdgesBuilder;
11
use PhUml\Graphviz\Styles\DigraphStyle;
12
use PhUml\Graphviz\Styles\ThemeName;
13
use Webmozart\Assert\Assert;
0 ignored issues
show
The type Webmozart\Assert\Assert was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
14
15
final class GraphvizConfiguration
16
{
17
    private readonly EdgesBuilder $associationsBuilder;
18
19
    private readonly DigraphStyle $digraphStyle;
20
21
    /** @param mixed[] $options */
22 22
    public function __construct(array $options)
23
    {
24 22
        Assert::boolean($options['associations'], 'Generate digraph associations option must be a boolean value');
25 21
        $this->associationsBuilder = $options['associations'] ? new DirectedEdgesBuilder() : new NoEdgesBuilder();
0 ignored issues
show
The property associationsBuilder is declared read-only in PhUml\Processors\GraphvizConfiguration.
Loading history...
26 21
        Assert::string($options['theme'], 'Theme option must be a string value');
27 20
        $theme = new ThemeName($options['theme']);
28 19
        Assert::boolean($options['hide-empty-blocks'], 'Hide digraph empty blocks option must be a boolean value');
29 18
        $hideEmptyBlocks = $options['hide-empty-blocks'];
30 18
        $this->digraphStyle = $hideEmptyBlocks
0 ignored issues
show
The property digraphStyle is declared read-only in PhUml\Processors\GraphvizConfiguration.
Loading history...
31 3
            ? DigraphStyle::withoutEmptyBlocks($theme)
32 15
            : DigraphStyle::default($theme);
33
    }
34
35 18
    public function edgesBuilder(): EdgesBuilder
36
    {
37 18
        return $this->associationsBuilder;
38
    }
39
40 18
    public function digraphStyle(): DigraphStyle
41
    {
42 18
        return $this->digraphStyle;
43
    }
44
}
45