Completed
Push — master ( 9b3fc3...96b827 )
by ARCANEDEV
06:21
created

MetaPresenter   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 2
cbo 2
dl 0
loc 48
ccs 0
cts 17
cp 0
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getTitleStatusAttribute() 0 4 1
A getDescriptionStatusAttribute() 0 4 1
A getLabelStatus() 0 10 1
1
<?php namespace Arcanesoft\Seo\Models\Presenters;
2
3
use Arcanesoft\Seo\Helpers\SeoChecker;
4
use Illuminate\Support\Arr;
5
6
/**
7
 * Class     MetaPresenter
8
 *
9
 * @package  Arcanesoft\Seo\Models\Presenters
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
trait MetaPresenter
13
{
14
    /* -----------------------------------------------------------------
15
     |  Accessors
16
     | -----------------------------------------------------------------
17
     */
18
    /**
19
     * Get the `title_status` attribute.
20
     *
21
     * @return string
22
     */
23
    public function getTitleStatusAttribute()
24
    {
25
        return SeoChecker::checkTitle($this->title);
0 ignored issues
show
Bug introduced by
The property title does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
26
    }
27
28
    /**
29
     * Get the `description_status` attribute.
30
     *
31
     * @return string
32
     */
33
    public function getDescriptionStatusAttribute()
34
    {
35
        return SeoChecker::checkDescription($this->description);
0 ignored issues
show
Bug introduced by
The property description does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
36
    }
37
38
    /* -----------------------------------------------------------------
39
     |  Other Methods
40
     | -----------------------------------------------------------------
41
     */
42
    /**
43
     * Get a label status by a given key.
44
     *
45
     * @param  string  $status
46
     *
47
     * @return string
48
     */
49
    protected function getLabelStatus($status)
50
    {
51
        $statuses = [
52
            SeoChecker::STATUS_DANGER  => 'danger',
53
            SeoChecker::STATUS_GOOD    => 'success',
54
            SeoChecker::STATUS_WARNING => 'warning',
55
        ];
56
57
        return Arr::get($statuses, $status, 'default');
58
    }
59
}
60