SlugizeKeys::transform()   A
last analyzed

Complexity

Conditions 2
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 3
nc 1
nop 1
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