ApiResponse::setDataProvider()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
cc 2
eloc 6
nc 2
nop 1
dl 0
loc 13
ccs 0
cts 12
cp 0
crap 6
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\Service\Application\Response;
6
7
8
use Illuminate\Http\JsonResponse;
9
use Xervice\DataProvider\DataProvider\AbstractDataProvider;
10
11
class ApiResponse extends JsonResponse
12
{
13
    /**
14
     * @param \Xervice\DataProvider\DataProvider\AbstractDataProvider $dataProvider
15
     *
16
     * @return \Xervice\Service\Application\Response\ApiResponse
17
     */
18
    public function setDataProvider(AbstractDataProvider $dataProvider)
19
    {
20
        $this->setData(
21
            [
22
                'class' => get_class($dataProvider),
23
                'data'  => $dataProvider->toArray()
24
            ]
25
        );
26
        if (method_exists($dataProvider, 'getStatus')) {
27
            $this->setStatusCode($dataProvider->getStatus());
28
        }
29
30
        return $this;
31
    }
32
}