Completed
Push — master ( c30100...d2035e )
by ARCANEDEV
16:12 queued 05:42
created

TrackersMaker::getVisitorTracker()   A

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