GlobalRecipients   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 39
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getRecipients() 0 3 1
A dataPreProcessor() 0 16 2
1
<?php
2
declare(strict_types=1);
3
4
/*
5
 * Copyright (C)
6
 * Nathan Boiron <[email protected]>
7
 * Romain Canon <[email protected]>
8
 *
9
 * This file is part of the TYPO3 NotiZ project.
10
 * It is free software; you can redistribute it and/or modify it
11
 * under the terms of the GNU General Public License, either
12
 * version 3 of the License, or any later version.
13
 *
14
 * For the full copyright and license information, see:
15
 * http://www.gnu.org/licenses/gpl-3.0.html
16
 */
17
18
namespace CuyZ\Notiz\Domain\Notification\Email\Application\EntityEmail\Settings\GlobalRecipients;
19
20
use CuyZ\Notiz\Core\Definition\Tree\AbstractDefinitionComponent;
21
use Romm\ConfigurationObject\Service\Items\DataPreProcessor\DataPreProcessor;
22
use Romm\ConfigurationObject\Service\Items\DataPreProcessor\DataPreProcessorInterface;
23
24
class GlobalRecipients extends AbstractDefinitionComponent implements DataPreProcessorInterface
25
{
26
    /**
27
     * @var \CuyZ\Notiz\Domain\Notification\Email\Application\EntityEmail\Settings\GlobalRecipients\Recipient[]
28
     */
29
    protected $recipients;
30
31
    /**
32
     * @return Recipient[]
33
     */
34
    public function getRecipients(): array
35
    {
36
        return $this->recipients;
37
    }
38
39
    /**
40
     * Each recipient is put inside an array to be able to process it in the
41
     * Recipient class.
42
     *
43
     * @see Recipient
44
     *
45
     * @param DataPreProcessor $processor
46
     */
47
    public static function dataPreProcessor(DataPreProcessor $processor)
48
    {
49
        $data = $processor->getData();
50
        $data = is_array($data)
51
            ? $data
52
            : [];
53
54
        $data = array_map(
55
            function ($item) {
56
                return ['recipient' => $item];
57
            },
58
            $data
59
        );
60
61
        $processor->setData([
62
            'recipients' => $data,
63
        ]);
64
    }
65
}
66