BindingManager::getTrackersBindings()   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
c 1
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php namespace Arcanedev\LaravelTracker\Support;
2
3
use Arcanedev\LaravelTracker\Contracts\Models as ModelContracts;
4
use Arcanedev\LaravelTracker\Contracts\Trackers as TrackerContracts;
5
use Arcanedev\LaravelTracker\Trackers;
6
7
/**
8
 * Class     BindingManager
9
 *
10
 * @package  Arcanedev\LaravelTracker\Support
11
 * @author   ARCANEDEV <[email protected]>
12
 */
13
class BindingManager
14
{
15
    /* -----------------------------------------------------------------
16
     |  Constants
17
     | -----------------------------------------------------------------
18
     */
19
20
    const MODEL_AGENT                = 'agent';
21
    const MODEL_COOKIE               = 'cookie';
22
    const MODEL_DEVICE               = 'device';
23
    const MODEL_DOMAIN               = 'domain';
24
    const MODEL_ERROR                = 'error';
25
    const MODEL_GEOIP                = 'geoip';
26
    const MODEL_LANGUAGE             = 'language';
27
    const MODEL_PATH                 = 'path';
28
    const MODEL_QUERY                = 'query';
29
    const MODEL_REFERER              = 'referer';
30
    const MODEL_REFERER_SEARCH_TERM  = 'referer-search-term';
31
    const MODEL_ROUTE                = 'route';
32
    const MODEL_ROUTE_PATH           = 'route-path';
33
    const MODEL_ROUTE_PATH_PARAMETER = 'route-path-parameter';
34
    const MODEL_USER                 = 'user';
35
    const MODEL_VISITOR              = 'visitor';
36
    const MODEL_VISITOR_ACTIVITY     = 'visitor-activity';
37
38
    /* -----------------------------------------------------------------
39
     |  Properties
40
     | -----------------------------------------------------------------
41
     */
42
43
    /**
44
     * Models bindings.
45
     *
46
     * @var array
47
     */
48
    protected static $models = [
49
        self::MODEL_AGENT                => ModelContracts\Agent::class,
50
        self::MODEL_COOKIE               => ModelContracts\Cookie::class,
51
        self::MODEL_DEVICE               => ModelContracts\Device::class,
52
        self::MODEL_DOMAIN               => ModelContracts\Domain::class,
53
        self::MODEL_ERROR                => ModelContracts\Error::class,
54
        self::MODEL_GEOIP                => ModelContracts\GeoIp::class,
55
        self::MODEL_LANGUAGE             => ModelContracts\Language::class,
56
        self::MODEL_PATH                 => ModelContracts\Path::class,
57
        self::MODEL_QUERY                => ModelContracts\Query::class,
58
        self::MODEL_REFERER              => ModelContracts\Referer::class,
59
        self::MODEL_REFERER_SEARCH_TERM  => ModelContracts\RefererSearchTerm::class,
60
        self::MODEL_ROUTE                => ModelContracts\Route::class,
61
        self::MODEL_ROUTE_PATH           => ModelContracts\RoutePath::class,
62
        self::MODEL_ROUTE_PATH_PARAMETER => ModelContracts\RoutePathParameter::class,
63
        self::MODEL_USER                 => ModelContracts\User::class,
64
        self::MODEL_VISITOR              => ModelContracts\Visitor::class,
65
        self::MODEL_VISITOR_ACTIVITY     => ModelContracts\VisitorActivity::class,
66
    ];
67
68
    /**
69
     * Trackers bindings.
70
     *
71
     * @var array
72
     */
73
    protected static $trackers = [
74
        TrackerContracts\CookieTracker::class          => Trackers\CookieTracker::class,
75
        TrackerContracts\DeviceTracker::class          => Trackers\DeviceTracker::class,
76
        TrackerContracts\ErrorTracker::class           => Trackers\ErrorTracker::class,
77
        TrackerContracts\GeoIpTracker::class           => Trackers\GeoIpTracker::class,
78
        TrackerContracts\LanguageTracker::class        => Trackers\LanguageTracker::class,
79
        TrackerContracts\PathTracker::class            => Trackers\PathTracker::class,
80
        TrackerContracts\QueryTracker::class           => Trackers\QueryTracker::class,
81
        TrackerContracts\RefererTracker::class         => Trackers\RefererTracker::class,
82
        TrackerContracts\RouteTracker::class           => Trackers\RouteTracker::class,
83
        TrackerContracts\UserAgentTracker::class       => Trackers\UserAgentTracker::class,
84
        TrackerContracts\UserTracker::class            => Trackers\UserTracker::class,
85
        TrackerContracts\VisitorTracker::class         => Trackers\VisitorTracker::class,
86
        TrackerContracts\VisitorActivityTracker::class => Trackers\VisitorActivityTracker::class,
87
    ];
88
89
    /* -----------------------------------------------------------------
90
     |  Getters & Setters
91
     | -----------------------------------------------------------------
92
     */
93
94
    /**
95
     * Get the models bindings.
96
     *
97
     * @return array
98
     */
99 117
    public static function getModelsBindings()
100
    {
101 117
        return self::$models;
102
    }
103
104
    /**
105
     * Get the trackers bindings.
106
     *
107
     * @return array
108
     */
109 117
    public static function getTrackersBindings()
110
    {
111 117
        return self::$trackers;
112
    }
113
}
114