Completed
Push — master ( a4831f...a4416a )
by ARCANEDEV
07:50
created

LanguageTracker   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 0%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A track() 0 6 1
1
<?php namespace Arcanedev\LaravelTracker\Trackers;
2
3
use Arcanedev\LaravelTracker\Contracts\Detectors\LanguageDetector;
4
use Arcanedev\LaravelTracker\Models\Language;
5
6
/**
7
 * Class     LanguageTracker
8
 *
9
 * @package  Arcanedev\LaravelTracker\Trackers
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
class LanguageTracker
13
{
14
    /* ------------------------------------------------------------------------------------------------
15
     |  Properties
16
     | ------------------------------------------------------------------------------------------------
17
     */
18
    /** @var \Arcanedev\LaravelTracker\Contracts\Detectors\LanguageDetector */
19
    protected $detector;
20
21
    /* ------------------------------------------------------------------------------------------------
22
     |  Constructor
23
     | ------------------------------------------------------------------------------------------------
24
     */
25
    /**
26
     * LanguageTracker constructor.
27
     */
28
    public function __construct()
29
    {
30
        $this->detector = app(LanguageDetector::class);
31
    }
32
33
    /* ------------------------------------------------------------------------------------------------
34
     |  Main Functions
35
     | ------------------------------------------------------------------------------------------------
36
     */
37
    /**
38
     * Track the language.
39
     *
40
     * @return int
41
     */
42
    public function track()
43
    {
44
        $languages = $this->detector->detect();
45
46
        return Language::firstOrCreate($languages)->id;
47
    }
48
}
49