SmsManager::createSmsOnlineDriver()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace HoomanMirghasemi\Sms;
4
5
use HoomanMirghasemi\Sms\Drivers\FakeSmsSender;
6
use HoomanMirghasemi\Sms\Drivers\Kavenegar;
7
use HoomanMirghasemi\Sms\Drivers\Magfa;
8
use HoomanMirghasemi\Sms\Drivers\SmsOnline;
9
use Illuminate\Support\Facades\App;
10
use Illuminate\Support\Manager;
11
12
class SmsManager extends Manager
13
{
14
    /**
15
     * Create an instance of the nexmo sms sender driver.
16
     *
17
     * @return Kavenegar
18
     */
19
    protected function createKavenegarDriver(): Kavenegar
20
    {
21
        return $this->container->make(Kavenegar::class);
22
    }
23
24
    /**
25
     * Create an instance of the fake sms sender driver.
26
     *
27
     * @return FakeSmsSender
28
     */
29
    protected function createFakeDriver(): FakeSmsSender
30
    {
31
        return $this->container->make(FakeSmsSender::class);
32
    }
33
34
    /**
35
     * Create an instance of the smsOnline sms sender driver.
36
     *
37
     * @return SmsOnline
38
     */
39
    protected function createSmsOnlineDriver()
40
    {
41
        return $this->container->make(SmsOnline::class);
42
    }
43
44
    /**
45
     * Create an instance of the magfa sms sender driver.
46
     *
47
     * @return Magfa
48
     */
49
    protected function createMagfaDriver()
50
    {
51
        return $this->container->make(Magfa::class);
52
    }
53
54
    /**
55
     * Get the default sms driver name.
56
     *
57
     * @return string
58
     */
59
    public function getDefaultDriver(): string
60
    {
61
        if (App::environment('testing')) {
62
            $this->setDefaultDriver('fake');
63
        }
64
65
        return $this->config->get('sms.driver');
66
    }
67
68
    /**
69
     * Set the default sms driver name.
70
     *
71
     * @param string $name
72
     *
73
     * @return void
74
     */
75
    public function setDefaultDriver(string $name): void
76
    {
77
        $this->config->set('sms.driver', $name);
78
    }
79
}
80