MailAdapter   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 35
c 0
b 0
f 0
wmc 3
lcom 1
cbo 2
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A remind() 0 16 2
1
<?php
2
3
namespace HappyHourReminder\Adapter;
4
5
use DateTime;
6
use HappyHourReminder\Entity\Response;
7
use Mailgun\Mailgun;
8
9
/**
10
 * Class MailAdapter
11
 *
12
 * @package HappyHourReminder\Adapter
13
 */
14
class MailAdapter implements AdapterInterface
15
{
16
    /** @var Mailgun */
17
    protected $mailgun;
18
19
    /**
20
     * MailAdapter constructor.
21
     *
22
     * @param Mailgun $mailgun
23
     */
24
    public function __construct(Mailgun $mailgun)
25
    {
26
        $this->mailgun = $mailgun;
27
    }
28
29
    /**
30
     * @inheritDoc
31
     */
32
    public function remind(Response $response)
33
    {
34
        $dateTime = new DateTime();
35
36
        foreach (explode(',', getenv('MAIL_TO')) as $mail) {
37
            $this->mailgun->sendMessage(
38
                getenv('MAILGUN_DOMAIN'),
39
                [
40
                    'from'    => getenv('MAIL_FROM'),
41
                    'to'      => $mail,
42
                    'subject' => 'Zmiana na millenium - ' . $dateTime->format('Y-m-d'),
43
                    'text'    => $response->getContentText()
44
                ]
45
            );
46
        }
47
    }
48
}
49