FieldService   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 38
Duplicated Lines 100 %

Coupling/Cohesion

Components 2
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
c 0
b 0
f 0
lcom 2
cbo 3
dl 38
loc 38
ccs 11
cts 11
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A parseArrayToEntity() 7 7 1
A getLink() 4 4 1
A add() 6 6 2

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 linkprofit\AmoCRM\services;
4
5
use linkprofit\AmoCRM\entities\EntityInterface;
6
use linkprofit\AmoCRM\entities\Field;
7
use linkprofit\AmoCRM\RequestHandler;
8
9
/**
10
 * Class FieldService
11
 * @package linkprofit\AmoCRM\services
12
 */
13 View Code Duplication
class FieldService extends BaseService
14
{
15
    /**
16
     * @var Field[]
17
     */
18
    protected $entities = [];
19
20
    /**
21
     * @param Field $field
22
     */
23 3
    public function add(EntityInterface $field)
24
    {
25 3
        if ($field instanceof Field) {
26 3
            $this->entities[] = $field;
27 3
        }
28 3
    }
29
30
    /**
31
     * @param $array
32
     * @return Field
33
     */
34 3
    public function parseArrayToEntity($array)
35
    {
36 3
        $field = new Field();
37 3
        $field->set($array);
38
39 3
        return $field;
40
    }
41
42
    /**
43
     * @return string
44
     */
45 3
    protected function getLink()
46
    {
47 3
        return 'https://' . $this->request->getSubdomain() . '.amocrm.ru/api/v2/fields';
48
    }
49
50
}