Completed
Push — develop ( b48d9b...a124ab )
by Paul
02:06
created

PhpFileRenderer::getClassDoc()   B

Complexity

Conditions 5
Paths 16

Size

Total Lines 18
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 11
nc 16
nop 1
dl 0
loc 18
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
namespace PhpUnitGen\Renderer;
4
5
use PhpUnitGen\Configuration\ConfigurationInterface\ConfigInterface;
6
use PhpUnitGen\Model\ModelInterface\PhpFileModelInterface;
7
use PhpUnitGen\Renderer\RendererInterface\PhpFileRendererInterface;
8
use Slim\Views\PhpRenderer;
9
10
/**
11
 * Class PhpFileRenderer.
12
 *
13
 * @author     Paul Thébaud <[email protected]>.
14
 * @copyright  2017-2018 Paul Thébaud <[email protected]>.
15
 * @license    https://opensource.org/licenses/MIT The MIT license.
16
 * @link       https://github.com/paul-thebaud/phpunit-generator
17
 * @since      Class available since Release 2.0.0.
18
 */
19
class PhpFileRenderer implements PhpFileRendererInterface
20
{
21
    /**
22
     * @var PhpRenderer $renderer The twig renderer.
23
     */
24
    protected $renderer;
25
26
    /**
27
     * AbstractRender constructor.
28
     *
29
     * @param ConfigInterface $config     The configuration.
30
     * @param PhpRenderer     $renderer   The php renderer.
31
     */
32
    public function __construct(
33
        ConfigInterface $config,
34
        PhpRenderer $renderer
35
    ) {
36
        $this->renderer = $renderer;
37
        $this->renderer->addAttribute('config', $config);
38
    }
39
40
    /**
41
     * {@inheritdoc}
42
     */
43
    public function invoke(PhpFileModelInterface $phpFile): string
44
    {
45
        return $this->renderer->fetch('class.php', [
46
            'phpFile' => $phpFile
47
        ]);
48
    }
49
}
50