Passed
Push — main ( f4f448...f3595a )
by Michael
04:06
created

DefinesColumns   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 11
dl 0
loc 73
ccs 19
cts 19
cp 1
rs 10
c 2
b 0
f 1
wmc 10

9 Methods

Rating   Name   Duplication   Size   Complexity  
A getCodeColumn() 0 3 1
A getTypeColumn() 0 3 1
A getValueColumn() 0 3 1
A getLimitColumn() 0 3 1
A getExpiresAtColumn() 0 3 1
A getRedeemerIdColumn() 0 3 1
A getQuantityColumn() 0 3 1
A getRedeemerTypeColumn() 0 3 1
A isMorphColumnsFilled() 0 4 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace MichaelRubel\Couponables\Models\Traits;
6
7
trait DefinesColumns
8
{
9
    /**
10
     * @return string
11
     */
12 16
    public function getCodeColumn(): string
13
    {
14 16
        return 'code';
15
    }
16
17
    /**
18
     * @return string
19
     */
20 1
    public function getTypeColumn(): string
21
    {
22 1
        return 'type';
23
    }
24
25
    /**
26
     * @return string
27
     */
28 1
    public function getValueColumn(): string
29
    {
30 1
        return 'value';
31
    }
32
33
    /**
34
     * @return string
35
     */
36 13
    public function getQuantityColumn(): string
37
    {
38 13
        return 'quantity';
39
    }
40
41
    /**
42
     * @return string
43
     */
44 13
    public function getLimitColumn(): string
45
    {
46 13
        return 'limit';
47
    }
48
49
    /**
50
     * @return string
51
     */
52 16
    public function getExpiresAtColumn(): string
53
    {
54 16
        return 'expires_at';
55
    }
56
57
    /**
58
     * @return string
59
     */
60 13
    public function getRedeemerTypeColumn(): string
61
    {
62 13
        return 'redeemer_type';
63
    }
64
65
    /**
66
     * @return string
67
     */
68 2
    public function getRedeemerIdColumn(): string
69
    {
70 2
        return 'redeemer_id';
71
    }
72
73
    /**
74
     * @return bool
75
     */
76 13
    public function isMorphColumnsFilled(): bool
77
    {
78 13
        return ! is_null($this->{$this->getRedeemerTypeColumn()})
79 13
            && ! is_null($this->{$this->getRedeemerIdColumn()});
80
    }
81
}
82