SearchFactory   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 3
dl 0
loc 43
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A get() 0 4 1
A plivo() 0 4 1
A twilio() 0 4 1
A bandwidth() 0 4 1
1
<?php
2
3
namespace LeadThread\Sms\Factories;
4
5
use Exception;
6
use LeadThread\Sms\Search\Plivo;
7
use LeadThread\Sms\Search\Twilio;
8
use LeadThread\Sms\Search\Bandwidth;
9
10
class SearchFactory
11
{
12
13
    /**
14
     * Creates a driver instance
15
     * @param  string $driver The driver name to create a search instance for
16
     * @return \LeadThread\Sms\Search\Search
17
     */
18 21
    public function get($driver, $options)
19
    {
20 21
        return $this->{$driver}($options);
21
    }
22
23
    /**
24
     * Plivo
25
     * @param  array $options An array of search values for finding a phone number
26
     * @return \LeadThread\Sms\Search\Plivo
27
     */
28 6
    protected function plivo(array $options)
29
    {
30 6
        return new Plivo($options);
31
    }
32
33
    /**
34
     * Twilio
35
     * @param  array $options An array of search values for finding a phone number
36
     * @return \LeadThread\Sms\Search\Twilio
37
     */
38 6
    protected function twilio(array $options)
39
    {
40 6
        return new Twilio($options);
41
    }
42
43
    /**
44
     * Bandwidth
45
     * @param  array $options An array of search values for finding a phone number
46
     * @return \LeadThread\Sms\Search\Bandwidth
47
     */
48 9
    protected function bandwidth(array $options)
49
    {
50 9
        return new Bandwidth($options);
51
    }
52
}
53