QrCodeExtension::qrCode()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
c 1
b 0
f 1
nc 1
nop 4
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
namespace PhpDocxTemplate\Twig\Impl;
4
5
use Twig\Extension\AbstractExtension;
6
use Twig\Markup;
7
use Twig\TwigFunction;
8
use PhpDocxTemplate\Twig\RendererInterface;
9
10
class QrCodeExtension extends AbstractExtension
11
{
12
    private $renderer;
13
14
    /**
15
     * @return mixed
16
     */
17 7
    public function getFunctions()
18
    {
19
        return [
20 7
            new TwigFunction('qr_code', [$this, 'qrCode'])
21
        ];
22
    }
23
24 8
    public function setRenderer(RendererInterface $renderer): void
25
    {
26 8
        $this->renderer = $renderer;
27 8
    }
28
29 1
    public function qrCode(string $url, int $size = 100, int $margin = 10, string $unit = 'px'): object
30
    {
31 1
        return new Markup($this->renderer->render($url, $size, $margin, $unit), 'UTF-8');
32
    }
33
}
34