1 | <?php namespace Arcanedev\GeoIP; |
||
12 | class DriverManager extends Manager implements DriverFactory |
||
13 | { |
||
14 | /* ----------------------------------------------------------------- |
||
15 | | Getters & Setters |
||
16 | | ----------------------------------------------------------------- |
||
17 | */ |
||
18 | |||
19 | /** |
||
20 | * Get the default driver name. |
||
21 | * |
||
22 | * @return string |
||
23 | */ |
||
24 | 21 | public function getDefaultDriver() |
|
28 | |||
29 | /** |
||
30 | * Get the config instance. |
||
31 | * |
||
32 | * @return \Illuminate\Contracts\Config\Repository |
||
33 | */ |
||
34 | 45 | private function config() |
|
38 | |||
39 | /* ----------------------------------------------------------------- |
||
40 | | Main Methods |
||
41 | | ----------------------------------------------------------------- |
||
42 | */ |
||
43 | |||
44 | /** |
||
45 | * Build the 'ip-api' driver. |
||
46 | * |
||
47 | * @return \Arcanedev\GeoIP\Drivers\AbstractDriver |
||
48 | */ |
||
49 | 9 | protected function createIpApiDriver() |
|
53 | |||
54 | /** |
||
55 | * Build the 'freegeoip' driver. |
||
56 | * |
||
57 | * @return \Arcanedev\GeoIP\Drivers\AbstractDriver |
||
58 | */ |
||
59 | 30 | protected function createFreegeoipDriver() |
|
63 | |||
64 | /** |
||
65 | * Get the 'maxmind-database' driver. |
||
66 | * |
||
67 | * @return \Arcanedev\GeoIP\Drivers\AbstractDriver |
||
68 | */ |
||
69 | 12 | protected function createMaxmindDatabaseDriver() |
|
73 | |||
74 | /** |
||
75 | * Get the 'maxmind-api' driver. |
||
76 | * |
||
77 | * @return \Arcanedev\GeoIP\Drivers\AbstractDriver |
||
78 | */ |
||
79 | 3 | protected function createMaxmindApiDriver() |
|
83 | |||
84 | /* ----------------------------------------------------------------- |
||
85 | | Other Methods |
||
86 | | ----------------------------------------------------------------- |
||
87 | */ |
||
88 | |||
89 | /** |
||
90 | * Build the driver. |
||
91 | * |
||
92 | * @param string $name |
||
93 | * |
||
94 | * @return \Arcanedev\GeoIP\Drivers\AbstractDriver |
||
95 | */ |
||
96 | 45 | private function buildDriver($name) |
|
104 | } |
||
105 |