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

VisitorActivityTracker   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 1
dl 0
loc 35
rs 10
c 0
b 0
f 0
ccs 6
cts 6
cp 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getModel() 0 4 1
A track() 0 7 1
1
<?php namespace Arcanedev\LaravelTracker\Trackers;
2
3
use Arcanedev\LaravelTracker\Contracts\Trackers\VisitorActivityTracker as VisitorActivityTrackerContract;
4
use Arcanedev\LaravelTracker\Support\BindingManager;
5
6
/**
7
 * Class     VisitorActivityTracker
8
 *
9
 * @package  Arcanedev\LaravelTracker\Trackers
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
class VisitorActivityTracker extends AbstractTracker implements VisitorActivityTrackerContract
13
{
14
    /* ------------------------------------------------------------------------------------------------
15
     |  Getters and Setters
16
     | ------------------------------------------------------------------------------------------------
17
     */
18
    /**
19
     * Get the model.
20
     *
21
     * @return \Arcanedev\LaravelTracker\Models\VisitorActivity
22
     */
23 18
    protected function getModel()
24
    {
25 18
        return $this->makeModel(BindingManager::MODEL_VISITOR_ACTIVITY);
26
    }
27
28
    /* ------------------------------------------------------------------------------------------------
29
     |  Main Functions
30
     | ------------------------------------------------------------------------------------------------
31
     */
32
    /**
33
     * Track the visitor activity.
34
     *
35
     * @param  array  $data
36
     *
37
     * @return int
38
     */
39 18
    public function track(array $data)
40
    {
41 18
        $model = $this->getModel()->fill($data);
42 18
        $model->save();
43
44 18
        return $model->id;
45
    }
46
}
47