Passed
Push — main ( c5d8d3...f30db6 )
by Michael
04:23
created

DefinesColumns   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 65
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 10
c 2
b 0
f 1
dl 0
loc 65
ccs 17
cts 17
cp 1
rs 10
wmc 9

8 Methods

Rating   Name   Duplication   Size   Complexity  
A getCodeColumn() 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
A getTypeColumn() 0 3 1
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 15
    public function getCodeColumn(): string
13
    {
14 15
        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 13
    public function getQuantityColumn(): string
29
    {
30 13
        return 'quantity';
31
    }
32
33
    /**
34
     * @return string
35
     */
36 13
    public function getLimitColumn(): string
37
    {
38 13
        return 'limit';
39
    }
40
41
    /**
42
     * @return string
43
     */
44 16
    public function getExpiresAtColumn(): string
45
    {
46 16
        return 'expires_at';
47
    }
48
49
    /**
50
     * @return string
51
     */
52 13
    public function getRedeemerTypeColumn(): string
53
    {
54 13
        return 'redeemer_type';
55
    }
56
57
    /**
58
     * @return string
59
     */
60 2
    public function getRedeemerIdColumn(): string
61
    {
62 2
        return 'redeemer_id';
63
    }
64
65
    /**
66
     * @return bool
67
     */
68 13
    public function isMorphColumnsFilled(): bool
69
    {
70 13
        return ! is_null($this->{$this->getRedeemerTypeColumn()})
71 13
            && ! is_null($this->{$this->getRedeemerIdColumn()});
72
    }
73
}
74