MessageFactory   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 2
dl 0
loc 42
c 0
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
D createMessageFromEmail() 0 35 8
1
<?php
2
declare(strict_types=1);
3
4
namespace AcMailer\Mail;
5
6
use AcMailer\Model\Email;
7
use Zend\Mail\Message;
8
9
final class MessageFactory
10
{
11
    private function __construct()
12
    {
13
    }
14
15
    public static function createMessageFromEmail(Email $email): Message
16
    {
17
        // Prepare Mail Message
18
        $message = new Message();
19
        $from = $email->getFrom();
20
        if (! empty($from)) {
21
            $message->setFrom($from, $email->getFromName());
22
        }
23
        $replyTo = $email->getReplyTo();
24
        if (! empty($replyTo)) {
25
            $message->setReplyTo($replyTo, $email->getReplyToName());
26
        }
27
        $to = $email->getTo();
28
        if (! empty($to)) {
29
            $message->setTo($to);
30
        }
31
        $cc = $email->getCc();
32
        if (! empty($cc)) {
33
            $message->setCc($cc);
34
        }
35
        $bcc = $email->getBcc();
36
        if (! empty($bcc)) {
37
            $message->setBcc($bcc);
38
        }
39
        $encoding = $email->getEncoding();
40
        if (! empty($encoding)) {
41
            $message->setEncoding($encoding);
42
        }
43
        $subject = $email->getSubject();
44
        if (! empty($subject)) {
45
            $message->setSubject($subject);
46
        }
47
48
        return $message;
49
    }
50
}
51