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

Text   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 53
Duplicated Lines 33.96 %

Coupling/Cohesion

Components 0
Dependencies 9

Test Coverage

Coverage 71.43%

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 9
dl 18
loc 53
ccs 15
cts 21
cp 0.7143
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A value() 9 9 4
A getListValue() 0 12 2
A getEditFormValue() 9 9 2
A getCreateFormValue() 0 8 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\Maskable;
9
use Yaro\Jarboe\Table\Fields\Traits\Nullable;
10
use Yaro\Jarboe\Table\Fields\Traits\Orderable;
11
use Yaro\Jarboe\Table\Fields\Traits\Placeholder;
12
use Yaro\Jarboe\Table\Fields\Traits\Tooltip;
13
use Yaro\Jarboe\Table\Fields\Traits\Translatable;
14
15
class Text extends AbstractField
16
{
17
    use Orderable;
18
    use Nullable;
19
    use Tooltip;
20
    use Clipboard;
21
    use Inline;
22
    use Translatable;
23
    use Maskable;
24
    use Placeholder;
25
26 View Code Duplication
    public function value(Request $request)
27
    {
28
        $value = parent::value($request);
29
        if (is_null($value) && $this->isNullable()) {
30
            return null;
31
        }
32
33
        return is_array($value) ? $value : (string) $value;
34
    }
35
36 1
    public function getListValue($model)
37
    {
38 1
        $template = 'list';
39 1
        if ($this->isTranslatable()) {
40
            $template .= '_translatable';
41
        }
42
43 1
        return view('jarboe::crud.fields.text.'. $template, [
44 1
            'model' => $model,
45 1
            'field' => $this,
46
        ]);
47
    }
48
49 1 View Code Duplication
    public function getEditFormValue($model)
50
    {
51 1
        $template = $this->isReadonly() ? 'readonly' : 'edit';
52
53 1
        return view('jarboe::crud.fields.text.'. $template, [
54 1
            'model' => $model,
55 1
            'field' => $this,
56
        ]);
57
    }
58
59 1
    public function getCreateFormValue()
60
    {
61 1
        $template = 'create';
62
63 1
        return view('jarboe::crud.fields.text.'. $template, [
64 1
            'field' => $this,
65
        ]);
66
    }
67
}
68