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

FormDataSwiftMailer::process()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 6
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 12
ccs 0
cts 9
cp 0
crap 6
rs 10
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