Completed
Push — master ( ff6b8b...bacf19 )
by Freek
02:21
created

SlugOptions::doNotGenerateSlugsOnCreate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
3
namespace Spatie\Sluggable;
4
5
class SlugOptions
6
{
7
    /** @var string|array|callable */
8
    public $generateSlugFrom;
9
10
    /** @var string */
11
    public $slugField;
12
13
    /** @var bool */
14
    public $generateUniqueSlugs = true;
15
16
    /** @var int */
17
    public $maximumLength = 250;
18
19
    /** @var bool */
20
    public $generateSlugsOnCreate = true;
21
22
    /** @var bool */
23
    public $generateSlugsOnUpdate = true;
24
25
    public static function create(): SlugOptions
26
    {
27
        return new static();
28
    }
29
30
    /**
31
     * @param string|array|callable $fieldName
32
     *
33
     * @return \Spatie\Sluggable\SlugOptions
34
     */
35
    public function generateSlugsFrom($fieldName): SlugOptions
36
    {
37
        $this->generateSlugFrom = $fieldName;
38
39
        return $this;
40
    }
41
42
    public function saveSlugsTo(string $fieldName): SlugOptions
43
    {
44
        $this->slugField = $fieldName;
45
46
        return $this;
47
    }
48
49
    public function allowDuplicateSlugs(): SlugOptions
50
    {
51
        $this->generateUniqueSlugs = false;
52
53
        return $this;
54
    }
55
56
    public function slugsShouldBeNoLongerThan(int $maximumLength): SlugOptions
57
    {
58
        $this->maximumLength = $maximumLength;
59
60
        return $this;
61
    }
62
63
    public function doNotGenerateSlugsOnCreate(): SlugOptions
64
    {
65
        $this->generateSlugsOnCreate = false;
66
67
        return $this;
68
    }
69
70
    public function doNotGenerateSlugsOnUpdate(): SlugOptions
71
    {
72
        $this->generateSlugsOnUpdate = false;
73
74
        return $this;
75
    }
76
}
77