Completed
Push — master ( d17154...1fc820 )
by Sullivan
11:02 queued 08:59
created

SonataTranslationExtension::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
/*
4
 * This file is part of the Sonata Project package.
5
 *
6
 * (c) Thomas Rabaix <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Sonata\TranslationBundle\Twig\Extension;
13
14
use Sonata\TranslationBundle\Checker\TranslatableChecker;
15
16
/**
17
 * @author Nicolas Bastien <[email protected]>
18
 */
19
class SonataTranslationExtension extends \Twig_Extension
20
{
21
    /**
22
     * @var TranslatableChecker
23
     */
24
    protected $translatableChecker;
25
26
    /**
27
     * {@inheritdoc}
28
     */
29
    public function getName()
30
    {
31
        return 'sonata_translation';
32
    }
33
34
    /**
35
     * @param TranslatableChecker $translatableChecker
36
     */
37
    public function __construct(TranslatableChecker $translatableChecker)
38
    {
39
        $this->translatableChecker = $translatableChecker;
40
    }
41
42
    /**
43
     * @param TranslatableChecker $translatableChecker
44
     */
45
    public function setTranslatableChecker($translatableChecker)
46
    {
47
        $this->translatableChecker = $translatableChecker;
48
    }
49
50
    /**
51
     * @return TranslatableChecker
52
     */
53
    public function getTranslatableChecker()
54
    {
55
        return $this->translatableChecker;
56
    }
57
58
    /**
59
     * {@inheritdoc}
60
     */
61
    public function getTests()
62
    {
63
        return array(
64
            new \Twig_SimpleTest('translatable', array($this, 'isTranslatable')),
65
        );
66
    }
67
68
    /**
69
     * Check if $object is translatable.
70
     *
71
     * @param mixed $object
72
     *
73
     * @return bool
74
     */
75
    public function isTranslatable($object)
76
    {
77
        return $this->getTranslatableChecker()->isTranslatable($object);
78
    }
79
}
80