TemplateIdGuesserManager::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
namespace Dekalee\MailjetBundle\Guesser;
4
5
use Swift_Mime_SimpleMessage;
6
7
/**
8
 * Class TemplateIdGuesserManager
9
 */
10
class TemplateIdGuesserManager
11
{
12
    protected $templateId;
13
    protected $guessers = [];
14
15
    /**
16
     * @param int|string $templateId
17
     */
18 4
    public function __construct($templateId)
19
    {
20 4
        $this->templateId = $templateId;
21 4
    }
22
23
    /**
24
     * @param Swift_Mime_SimpleMessage $message
25
     *
26
     * @return string|int|null
27
     */
28 3
    public function guess(Swift_Mime_SimpleMessage $message)
29
    {
30
        /** @var TemplateIdGuesserInterface $guesser */
31 3
        foreach ($this->guessers as $guesser) {
32 2
            if ($guesser->supports($message)) {
33 1
                return $guesser->guess($message);
34
            }
35 2
        }
36
37 2
        return $this->templateId;
38
    }
39
40
    /**
41
     * @param TemplateIdGuesserInterface $guesser
42
     */
43 2
    public function addGuesser(TemplateIdGuesserInterface $guesser)
44
    {
45 2
        $this->guessers[] = $guesser;
46 2
    }
47
}
48