TrackersMaker::getLanguageTracker()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 4
c 1
b 0
f 0
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php namespace Arcanedev\LaravelTracker\Traits;
2
3
use Arcanedev\LaravelTracker\Contracts;
4
5
/**
6
 * Class     TrackersMaker
7
 *
8
 * @package  Arcanedev\LaravelTracker\Traits
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
trait TrackersMaker
12
{
13
    /* -----------------------------------------------------------------
14
     |  Main Methods
15
     | -----------------------------------------------------------------
16
     */
17
18
    /**
19
     * Get the cookie tracker.
20
     *
21
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\CookieTracker
22
     */
23
    protected function getCookieTracker()
24
    {
25
        return $this->make(Contracts\Trackers\CookieTracker::class);
26
    }
27
28
    /**
29
     * Get the device tracker.
30
     *
31
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\DeviceTracker
32
     */
33 6
    protected function getDeviceTracker()
34
    {
35 6
        return $this->make(Contracts\Trackers\DeviceTracker::class);
36
    }
37
38
    /**
39
     * Get the error tracker.
40
     *
41
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\ErrorTracker
42
     */
43 3
    protected function getErrorTracker()
44
    {
45 3
        return $this->make(Contracts\Trackers\ErrorTracker::class);
46
    }
47
48
    /**
49
     * Get the geoip tracker.
50
     *
51
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\GeoIpTracker
52
     */
53 6
    protected function getGeoIpTracker()
54
    {
55 6
        return $this->make(Contracts\Trackers\GeoIpTracker::class);
56
    }
57
58
    /**
59
     * Get the language tracker.
60
     *
61
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\LanguageTracker
62
     */
63 6
    protected function getLanguageTracker()
64
    {
65 6
        return $this->make(Contracts\Trackers\LanguageTracker::class);
66
    }
67
68
    /**
69
     * Get the path tracker.
70
     *
71
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\PathTracker
72
     */
73 6
    protected function getPathTracker()
74
    {
75 6
        return $this->make(Contracts\Trackers\PathTracker::class);
76
    }
77
78
    /**
79
     * Get the query tracker.
80
     *
81
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\QueryTracker
82
     */
83 6
    protected function getQueryTracker()
84
    {
85 6
        return $this->make(Contracts\Trackers\QueryTracker::class);
86
    }
87
88
    /**
89
     * Get the referer tracker.
90
     *
91
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\RefererTracker
92
     */
93 6
    protected function getRefererTracker()
94
    {
95 6
        return $this->make(Contracts\Trackers\RefererTracker::class);
96
    }
97
98
    /**
99
     * Get the visitor tracker.
100
     *
101
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\VisitorTracker
102
     */
103 6
    protected function getVisitorTracker()
104
    {
105 6
        return $this->make(Contracts\Trackers\VisitorTracker::class);
106
    }
107
108
    /**
109
     * Get the visitor activity tracker.
110
     *
111
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\VisitorActivityTracker
112
     */
113 6
    protected function getVisitorActivityTracker()
114
    {
115 6
        return $this->make(Contracts\Trackers\VisitorActivityTracker::class);
116
    }
117
118
    /**
119
     * Get the route tracker.
120
     *
121
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\RouteTracker
122
     */
123 6
    protected function getRouteTracker()
124
    {
125 6
        return $this->make(Contracts\Trackers\RouteTracker::class);
126
    }
127
128
    /**
129
     * Get the user agent tracker.
130
     *
131
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\UserAgentTracker
132
     */
133 6
    protected function getUserAgentTracker()
134
    {
135 6
        return $this->make(Contracts\Trackers\UserAgentTracker::class);
136
    }
137
138
    /**
139
     * Get the user tracker.
140
     *
141
     * @return \Arcanedev\LaravelTracker\Contracts\Trackers\UserTracker
142
     */
143 6
    protected function getUserTracker()
144
    {
145 6
        return $this->make(Contracts\Trackers\UserTracker::class);
146
    }
147
148
    /**
149
     * Get the tracker instance.
150
     *
151
     * @param  string  $abstract
152
     *
153
     * @return mixed
154
     */
155 117
    private function make($abstract)
156
    {
157 117
        return $this->app()->make($abstract);
158
    }
159
160
    /**
161
     * Get the application instance.
162
     *
163
     * @return \Illuminate\Contracts\Foundation\Application
164
     */
165
    abstract protected function app();
166
}
167