Passed
Push — master ( 4c5faf...429320 )
by Chris
04:23
created

FormDataSwiftMailer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 36
ccs 0
cts 14
cp 0
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A process() 0 12 2
A __construct() 0 4 1
1
<?php
2
3
namespace WebTheory\Saveyour\Processors;
4
5
use Psr\Http\Message\ServerRequestInterface;
6
use Swift_Mailer;
7
use Swift_Message;
8
use WebTheory\Saveyour\Contracts\FormDataProcessingCacheInterface;
9
use WebTheory\Saveyour\Contracts\FormDataProcessorInterface;
10
11
class FormDataSwiftMailer extends AbstractFormDataProcessor implements FormDataProcessorInterface
12
{
13
    /**
14
     * @var Swift_Mailer
15
     */
16
    protected $mailer;
17
18
    /**
19
     * @var Swift_Message
20
     */
21
    protected $message;
22
23
    /**
24
     *
25
     */
26
    public function __construct(Swift_Mailer $mailer, Swift_Message $message)
27
    {
28
        $this->mailer = $mailer;
29
        $this->message = $message;
30
    }
31
32
    /**
33
     *
34
     */
35
    public function process(ServerRequestInterface $request, array $results): ?FormDataProcessingCacheInterface
36
    {
37
        $values = $this->extractValues($results);
38
        $message = '';
39
40
        foreach ($values as $key => $value) {
41
            $message .= "{$key}: {$value}\n";
42
        }
43
44
        $this->mailer->send($this->message->setBody($message));
45
46
        return null;
47
    }
48
}
49