JsData::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 4
cts 4
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
namespace SumoCoders\FrameworkCoreBundle\Service;
4
5
use Symfony\Component\HttpFoundation\ParameterBag;
6
use Symfony\Component\HttpFoundation\RequestStack;
7
8
/**
9
 * Class JsData
10
 *
11
 * @package SumoCoders\FrameworkCoreBundle\Service
12
 */
13
class JsData extends ParameterBag
14
{
15
    /**
16
     * @var \Symfony\Component\HttpFoundation\RequestStack
17
     */
18
    protected $requestStack;
19
20
    /**
21
     * @param RequestStack $requestStack
22
     */
23 11
    public function __construct(RequestStack $requestStack)
24
    {
25 11
        parent::__construct();
26
27 11
        $this->requestStack = $requestStack;
28 11
    }
29
30
    /**
31
     * Handle the request stack
32
     */
33 10
    protected function handleRequestStack()
34
    {
35 10
        $currentRequest = $this->requestStack->getCurrentRequest();
36
37 10
        if ($currentRequest) {
38
            $requestData = [
39 10
                'locale' => $currentRequest->getLocale(),
40
            ];
41
42 10
            $this->set('request', $requestData);
43
        }
44 10
    }
45
46
    /**
47
     * Parse into string
48
     *
49
     * @return string
50
     */
51 10
    public function __toString()
52
    {
53 10
        $this->handleRequestStack();
54
55 10
        return json_encode($this->all());
56
    }
57
}
58