Test Failed
Push — develop ( c74868...df43c9 )
by Paul
09:13
created

ControlDefaults::defaults()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 2
Metric Value
eloc 8
c 2
b 0
f 2
dl 0
loc 10
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\Breakdance\Defaults;
4
5
use GeminiLabs\SiteReviews\Defaults\DefaultsAbstract;
6
7
class ControlDefaults extends DefaultsAbstract
8
{
9
    /**
10
     * The values that should be cast before sanitization is run.
11
     * This is done before $sanitize and $enums.
12
     */
13
    public array $casts = [
14
        'enableHover' => 'bool',
15
        'enableMediaQueries' => 'bool',
16
    ];
17
18
    /**
19
     * The values that should be sanitized.
20
     * This is done after $casts and before $enums.
21
     */
22
    public array $sanitize = [
23
        'children' => 'array-consolidate',
24
        'keywords' => 'array-consolidate',
25
        'label' => 'text',
26
        'options' => 'array-consolidate',
27
        'slug' => 'slug',
28
    ];
29
30
    protected function defaults(): array
31
    {
32
        return [
33
            'children' => [],
34
            'enableHover' => false,
35
            'enableMediaQueries' => false,
36
            'keywords' => [],
37
            'label' => '',
38
            'options' => [],
39
            'slug' => '',
40
        ];
41
    }
42
43
    /**
44
     * Finalize provided values, this always runs last.
45
     */
46
    protected function finalize(array $values = []): array
47
    {
48
        if (empty($values['label'])) {
49
            $values['label'] = ucwords(str_replace(['-', '_'], ' ', $values['slug']));
50
        }
51
        return $values;
52
    }
53
}
54