AttributeListResponder::success()   A
last analyzed

Complexity

Conditions 3
Paths 2

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 11
rs 9.9666
cc 3
nc 2
nop 1
1
<?php
2
declare(strict_types=1);
3
4
/**
5
 * Api Class
6
 * @category    Ticaje
7
 * @author      Max Demian <[email protected]>
8
 */
9
10
namespace Ticaje\AeSdk\Api\Artifact\Responder\Get;
11
12
use Ticaje\Contract\Patterns\Interfaces\Pool\WorkerInterface;
13
use Ticaje\Contract\Patterns\Interfaces\Decorator\Responder\ResponseInterface as ContractResponseInterface;
14
15
use Ticaje\AeSdk\Api\Interfaces\ApiResponderInterface;
16
use Ticaje\AeSdk\Api\Artifact\Responder\Responder;
17
18
/**
19
 * Class AttributeListResponder
20
 * @package Ticaje\AeSdk\Api\Artifact\Responder
21
 */
22
class AttributeListResponder implements ApiResponderInterface, WorkerInterface
23
{
24
    use Responder;
0 ignored issues
show
Bug introduced by
The trait Ticaje\AeSdk\Api\Artifact\Responder\Responder requires the property $msg which is not provided by Ticaje\AeSdk\Api\Artifac...\AttributeListResponder.
Loading history...
25
26
    private $count;
0 ignored issues
show
introduced by
The private property $count is not used, and could be removed.
Loading history...
27
28
    private $attributes = [];
29
30
    /**
31
     * @inheritDoc
32
     */
33
    public function process(ContractResponseInterface $response): ApiResponderInterface
34
    {
35
        $content = json_decode($response->getContent());
36
        isset($content->error_response) ? $this->error($content->error_response) : $this->success($content->aliexpress_category_redefining_getallchildattributesresult_response);
37
        return $this;
38
    }
39
40
    protected function success(\stdClass $response)
41
    {
42
        $data = $response->result->attributes->aeop_attribute_dto;
43
        $itemsCount = count($data);
44
        $message = $itemsCount ? "{$itemsCount} attributes fetched successfully" : 'No attributes found with such criteria';
45
        $this
46
            ->setSuccess(1)
0 ignored issues
show
Bug introduced by
The method setSuccess() does not exist on Ticaje\AeSdk\Api\Artifac...\AttributeListResponder. Since you implemented __call, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

46
            ->/** @scrutinizer ignore-call */ 
47
              setSuccess(1)
Loading history...
47
            ->setCount($itemsCount)
0 ignored issues
show
Bug introduced by
The method setCount() does not exist on Ticaje\AeSdk\Api\Artifac...\AttributeListResponder. Since you implemented __call, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

47
            ->/** @scrutinizer ignore-call */ setCount($itemsCount)
Loading history...
48
            ->setAttributes($itemsCount ? $data : null)
0 ignored issues
show
Bug introduced by
The method setAttributes() does not exist on Ticaje\AeSdk\Api\Artifac...\AttributeListResponder. Since you implemented __call, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

48
            ->/** @scrutinizer ignore-call */ setAttributes($itemsCount ? $data : null)
Loading history...
49
            ->setCode(200)
0 ignored issues
show
Bug introduced by
The method setCode() does not exist on Ticaje\AeSdk\Api\Artifac...\AttributeListResponder. Since you implemented __call, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

49
            ->/** @scrutinizer ignore-call */ setCode(200)
Loading history...
50
            ->setMessage($message);
0 ignored issues
show
Bug introduced by
The method setMessage() does not exist on Ticaje\AeSdk\Api\Artifac...\AttributeListResponder. Since you implemented __call, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

50
            ->/** @scrutinizer ignore-call */ setMessage($message);
Loading history...
51
    }
52
}
53