SlugizeKeys   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
dl 0
loc 22
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 4 1
A transform() 0 5 2
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