Completed
Push — master ( 814073...4a1646 )
by Yaro
10:23 queued 02:16
created

Number   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 44
Duplicated Lines 20.45 %

Coupling/Cohesion

Components 0
Dependencies 8

Test Coverage

Coverage 70.59%

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 8
dl 9
loc 44
ccs 12
cts 17
cp 0.7059
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A value() 0 9 5
A getListValue() 0 7 1
A getEditFormValue() 9 9 2
A getCreateFormValue() 0 6 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace Yaro\Jarboe\Table\Fields;
4
5
use Illuminate\Http\Request;
6
use Yaro\Jarboe\Table\Fields\Traits\Clipboard;
7
use Yaro\Jarboe\Table\Fields\Traits\Inline;
8
use Yaro\Jarboe\Table\Fields\Traits\Nullable;
9
use Yaro\Jarboe\Table\Fields\Traits\Orderable;
10
use Yaro\Jarboe\Table\Fields\Traits\Placeholder;
11
use Yaro\Jarboe\Table\Fields\Traits\Tooltip;
12
13
class Number extends AbstractField
14
{
15
    use Orderable;
16
    use Nullable;
17
    use Tooltip;
18
    use Clipboard;
19
    use Inline;
20
    use Placeholder;
21
22
    public function value(Request $request)
23
    {
24
        $value = $request->get($this->name());
25
        if (!$value && $value !== "0" && $this->isNullable()) {
26
            return null;
27
        }
28
29
        return is_null($value) ? 0 : $value;
30
    }
31
32 1
    public function getListValue($model)
33
    {
34 1
        return view('jarboe::crud.fields.number.list', [
35 1
            'model' => $model,
36 1
            'field' => $this,
37
        ]);
38
    }
39
40 1 View Code Duplication
    public function getEditFormValue($model)
41
    {
42 1
        $template = $this->isReadonly() ? 'readonly' : 'edit';
43
44 1
        return view('jarboe::crud.fields.number.'. $template, [
45 1
            'model' => $model,
46 1
            'field' => $this,
47
        ]);
48
    }
49
50 1
    public function getCreateFormValue()
51
    {
52 1
        return view('jarboe::crud.fields.number.create', [
53 1
            'field' => $this,
54
        ]);
55
    }
56
}
57