Passed
Push — master ( b11de1...a4dac5 )
by eXeCUT
09:39
created

SettingsValueExtractor   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Test Coverage

Coverage 94.74%

Importance

Changes 0
Metric Value
wmc 8
eloc 22
dl 0
loc 34
ccs 18
cts 19
cp 0.9474
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B extract() 0 31 8
1
<?php
2
/**
3
 * User: execut
4
 * Date: 25.07.16
5
 * Time: 17:58
6
 */
7
8
namespace execut\import\components;
9
10
11
use yii\base\Component;
12
13
class SettingsValueExtractor extends Component
14
{
15
    public $model = null;
16 3
    public function extract() {
17 3
        $result = [];
18
19 3
        $model = $this->model;
20 3
        $type = $model->type;
21 3
        $parts = explode('.', $type);
22 3
        if (!empty($parts[1]) && $parts[1] == 'upperName') {
23
            $parts[1] = 'name';
24
        }
25
26 3
        if ($model->value_option) {
27 1
            $result['id'] = (int) $model->value_option;
28 2
        } else if ($model->column_nbr !== null && $model->column_nbr !== '') {
29
            $columnResult = [
30 1
                'column' => $model->column_nbr
31
            ];
32
33 1
            if (!empty($model->number_delimiter)) {
34 1
                $columnResult['numberDelimiter'] = $model->number_delimiter;
35
            }
36
37 1
            $result[$parts[1]] = $columnResult;
38 1
        } else if ($model->value_string) {
39 1
            $result[$parts[1]] = [
40 1
                'value' => $model->value_string,
41
            ];
42
        }
43
44
        return [
45 3
            $parts[0] => [
46 3
                'attributes' => $result
47
            ],
48
        ];
49
    }
50
}