Handler::send()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 3
eloc 4
nc 3
nop 2
1
<?php
2
3
namespace WZRD\Mail;
4
5
use WZRD\Contracts\Mail\Mailer;
6
use WZRD\Contracts\Mail\Message as MessageContract;
7
8
class Handler implements Mailer
9
{
10
    /**
11
     * Mailers.
12
     *
13
     * @var WZRD\Contracts\Mail\Mailer[]
14
     */
15
    protected $mailers;
16
17
    /**
18
     * Construct with mailers instances.
19
     *
20
     * @param WZRD\Contracts\Mail\Mailer[] $mailers
21
     */
22
    public function __construct(array $mailers)
23
    {
24
        $this->mailers = $mailers;
25
    }
26
27
    /**
28
     * Send a mail.
29
     *
30
     * @param WZRD\Contracts\Mail\Message $message
31
     * @param array                       $options
32
     */
33
    public function send(MessageContract $message, $options = [])
34
    {
35
        foreach ($this->mailers as $mailer) {
36
            if ($mailer instanceof Mailer) {
37
                $mailer->send($message, $options);
38
            }
39
        }
40
    }
41
}
42