SettingsValueExtractor::extract()   B
last analyzed

Complexity

Conditions 8
Paths 10

Size

Total Lines 31
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 18
CRAP Score 8.0093

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 31
ccs 18
cts 19
cp 0.9474
rs 8.4444
c 0
b 0
f 0
cc 8
nc 10
nop 0
crap 8.0093
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
}