SecondFactorType   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 28
rs 10
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A halfStar() 0 3 1
A getFilters() 0 6 1
A translateSecondFactorType() 0 3 1
A __construct() 0 2 1
A numberOfWholeStars() 0 3 1
1
<?php
2
3
declare(strict_types = 1);
4
5
/**
6
 * Copyright 2018 SURFnet B.V.
7
 *
8
 * Licensed under the Apache License, Version 2.0 (the "License");
9
 * you may not use this file except in compliance with the License.
10
 * You may obtain a copy of the License at
11
 *
12
 *     http://www.apache.org/licenses/LICENSE-2.0
13
 *
14
 * Unless required by applicable law or agreed to in writing, software
15
 * distributed under the License is distributed on an "AS IS" BASIS,
16
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
 * See the License for the specific language governing permissions and
18
 * limitations under the License.
19
 */
0 ignored issues
show
Coding Style introduced by
PHP version not specified
Loading history...
Coding Style introduced by
Missing @category tag in file comment
Loading history...
Coding Style introduced by
Missing @package tag in file comment
Loading history...
Coding Style introduced by
Missing @author tag in file comment
Loading history...
Coding Style introduced by
Missing @license tag in file comment
Loading history...
Coding Style introduced by
Missing @link tag in file comment
Loading history...
20
21
namespace Surfnet\StepupSelfService\SelfServiceBundle\Twig\Extensions\Extension;
22
23
use Surfnet\StepupBundle\Service\SecondFactorTypeTranslationService;
24
use Twig\Extension\AbstractExtension;
25
use Twig\TwigFilter;
26
27
final class SecondFactorType extends AbstractExtension
0 ignored issues
show
Coding Style introduced by
Missing doc comment for class SecondFactorType
Loading history...
28
{
29
    public function __construct(private readonly SecondFactorTypeTranslationService $translator)
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function __construct()
Loading history...
30
    {
31
    }
32
33
    public function getFilters(): array
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function getFilters()
Loading history...
34
    {
35
        return [
36
            new TwigFilter('trans_second_factor_type', $this->translateSecondFactorType(...)),
37
            new TwigFilter('number_of_whole_stars', $this->numberOfWholeStars(...)),
38
            new TwigFilter('half_star', $this->halfStar(...)),
39
        ];
40
    }
41
42
    public function translateSecondFactorType($secondFactorType): string
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function translateSecondFactorType()
Loading history...
43
    {
44
        return $this->translator->translate($secondFactorType, 'ss.second_factor.type.%s');
45
    }
46
47
    public function numberOfWholeStars(float $loaLevel): int
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function numberOfWholeStars()
Loading history...
48
    {
49
        return (int) floor($loaLevel);
50
    }
51
52
    public function halfStar(float $loaLevel): bool
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function halfStar()
Loading history...
53
    {
54
        return floor($loaLevel) !== $loaLevel;
55
    }
56
}
57