Completed
Push — develop ( 4d833c...555977 )
by Abdelrahman
03:47
created

HasSlug::bootHasSlug()   B

Complexity

Conditions 5
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 6
nc 1
nop 0
dl 0
loc 11
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Rinvex\Support\Traits;
6
7
use Spatie\Sluggable\HasSlug as BaseHasSlug;
8
9
trait HasSlug
10
{
11
    use BaseHasSlug;
12
13
    /**
14
     * Boot the trait.
15
     */
16
    protected static function bootHasSlug()
17
    {
18
        // Auto generate slugs early before validation
19
        static::validating(function (self $model) {
20
            if ($model->exists && $model->getSlugOptions()->generateSlugsOnUpdate) {
21
                $model->generateSlugOnUpdate();
22
            } elseif (! $model->exists && $model->getSlugOptions()->generateSlugsOnCreate) {
23
                $model->generateSlugOnCreate();
24
            }
25
        });
26
    }
27
}
28