Completed
Pull Request — master (#79)
by Mina
01:21
created

MailboxManager   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Importance

Changes 0
Metric Value
wmc 8
lcom 0
cbo 7
dl 0
loc 42
rs 10
c 0
b 0
f 0

8 Methods

Rating   Name   Duplication   Size   Complexity  
A mailbox() 0 4 1
A createLogDriver() 0 4 1
A createMailgunDriver() 0 4 1
A createSendGridDriver() 0 4 1
A createMailCareDriver() 0 4 1
A createPostmarkDriver() 0 4 1
A createSESDriver() 0 4 1
A getDefaultDriver() 0 4 1
1
<?php
2
3
namespace BeyondCode\Mailbox;
4
5
use BeyondCode\Mailbox\Drivers\Log;
6
use BeyondCode\Mailbox\Drivers\MailCare;
7
use BeyondCode\Mailbox\Drivers\Mailgun;
8
use BeyondCode\Mailbox\Drivers\Postmark;
9
use BeyondCode\Mailbox\Drivers\SendGrid;
10
use BeyondCode\Mailbox\Drivers\Ses;
11
use Illuminate\Support\Manager;
12
13
class MailboxManager extends Manager
14
{
15
    public function mailbox($name = null)
16
    {
17
        return $this->driver($name);
18
    }
19
20
    public function createLogDriver()
21
    {
22
        return new Log;
23
    }
24
25
    public function createMailgunDriver()
26
    {
27
        return new Mailgun;
28
    }
29
30
    public function createSendGridDriver()
31
    {
32
        return new SendGrid;
33
    }
34
35
    public function createMailCareDriver()
36
    {
37
        return new MailCare;
38
    }
39
40
    public function createPostmarkDriver()
41
    {
42
        return new Postmark;
43
    }
44
45
    public function createSESDriver()
46
    {
47
        return new Ses;
48
    }
49
50
    public function getDefaultDriver()
51
    {
52
        return $this->container['config']['mailbox.driver'];
53
    }
54
}
55