Passed
Push — master ( 617e52...ff4e9f )
by Arthur
35:51
created

Script   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 46
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A releases() 0 3 1
A reviews() 0 3 1
A exclusivity() 0 3 1
1
<?php
2
3
namespace Modules\Script\Entities;
4
5
use Modules\Mongo\Abstracts\MongoModel as Model;
6
use Modules\Script\Policies\ScriptPolicy;
7
use Modules\Script\Attributes\ScriptAttributes;
8
use Foundation\Traits\ModelFactory;
9
use Jenssegers\Mongodb\Eloquent\SoftDeletes;
10
use Foundation\Contracts\Ownable;
11
use Foundation\Traits\OwnedByUser;
12
13
/**
14
 * Class Script.
15
 *
16
 * @property string $id
17
 */
18
class Script extends Model implements ScriptAttributes, Ownable
19
{
20
    use ModelFactory, SoftDeletes, OwnedByUser;
21
22
    protected $policies = [
23
        ScriptPolicy::class
24
    ];
25
26
    protected $observers = [
27
28
    ];
29
30
    /**
31
     * @var string
32
     */
33
    protected $collection = 'scripts';
34
35
    /**
36
     * @var array
37
     */
38
    protected $guarded = [];
39
40
    /**
41
     * @var array
42
     */
43
    protected $casts = [];
44
45
    protected $dates = [
46
        'created_at',
47
        'updated_at',
48
        'deleted_at',
49
    ];
50
51 7
    public function releases()
52
    {
53 7
        return $this->embedsMany(ScriptRelease::class);
54
    }
55
56 2
    public function reviews()
57
    {
58 2
        return $this->hasMany(ScriptReview::class);
59
    }
60
61 3
    public function exclusivity()
62
    {
63 3
        return $this->embedsMany(ScriptExclusivity::class);
64
    }
65
}
66