SlugizeKeys::boot()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Ghc\Rosetta\Transformers;
4
5
class SlugizeKeys extends Transformer
6
{
7
    /**
8
     * Boot Transformer.
9
     */
10
    protected function boot()
11
    {
12
        $this->addDefaultConfig([
13
            'separator' => '_',
14
        ]);
15
    }
16
17
    /**
18
     * @param array $data
19
     *
20
     * @return array
21
     */
22
    public function transform($data)
23
    {
24
        return collect($data)->mapWithKeys(function ($value, $key) {
25
            return [str_replace('-', $this->config['separator'], str_slug($key)) => !is_array($value) ? $value : $this->transform($value)];
26
        })->toArray();
27
    }
28
}
29