Passed
Pull Request — develop (#132)
by Sebastian
14:40 queued 07:30
created

Punctuation::getAllPunctuations()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
eloc 7
nc 1
nop 0
dl 0
loc 10
ccs 6
cts 6
cp 1
crap 1
rs 10
c 2
b 0
f 0
1
<?php
2
3
namespace Seboettg\CiteProc\Rendering\Term;
4
5
use MyCLabs\Enum\Enum;
6
use Seboettg\CiteProc\CiteProc;
7
use Seboettg\Collection\ArrayList;
8
9
class Punctuation extends Enum
10
{
11
    public const OPEN_QUOTE = "open-quote";
12
    public const CLOSE_QUOTE = "close-quote";
13
    public const OPEN_INNER_QUOTE = "open-inner-quote";
14
    public const CLOSE_INNER_QUOTE = "close-inner-quote";
15
    public const PAGE_RANGE_DELIMITER = "page-range-delimiter";
16
    public const COLON = "colon";
17
    public const COMMA = "comma";
18
    public const SEMICOLON = "semicolon";
19
20 9
    public static function getAllPunctuations(): array
21
    {
22 9
        $values = new ArrayList();
23
        return $values
24 9
            ->setArray(Punctuation::toArray())
25
            ->map(function (string $punctuation) {
26 9
                return CiteProc::getContext()->getLocale()->filter("terms", $punctuation)->single;
27 9
            })
28
            ->collect(function ($items) {
29 9
                return array_values($items);
30 9
            });
31
    }
32
}
33