DateTimeHumanizerExtension::getName()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace EmanueleMinotto\HumanizerBundle\Twig;
4
5
use Coduo\PHPHumanizer\DateTimeHumanizer;
6
use DateTime;
7
use Twig_SimpleFilter;
8
9
/**
10
 * Twig extension used to map DateTimeHumanizer methods to Twig filters.
11
 *
12
 * @author Emanuele Minotto <[email protected]>
13
 */
14
class DateTimeHumanizerExtension extends AbstractHumanizerExtension
15
{
16
    /**
17
     * {@inheritdoc}
18
     */
19 45
    public function getFilters()
20
    {
21 1
        return [
22 45
            new Twig_SimpleFilter(
23 45
                'difference',
24 30
                function (DateTime $fromDate, DateTime $toDate) {
25 3
                    return DateTimeHumanizer::difference(
26 2
                        $fromDate,
27 2
                        $toDate,
28 3
                        $this->translator->getLocale()
29 1
                    );
30 30
                }
31 15
            ),
32 45
            new Twig_SimpleFilter(
33 45
                'precise_difference',
34 31
                function (DateTime $fromDate, DateTime $toDate) {
35 3
                    return DateTimeHumanizer::preciseDifference(
36 2
                        $fromDate,
37 2
                        $toDate,
38 3
                        $this->translator->getLocale()
39 1
                    );
40 30
                }
41 15
            ),
42 15
        ];
43
    }
44
45 15
    public function getName()
46
    {
47 15
        return 'humanizer_datetime';
48
    }
49
}
50