Passed
Push — master ( 41ee62...d0e25f )
by Morten Poul
02:31
created

CollectionResponse::setStatusCode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Signifly\Responder\Responses;
4
5
use Illuminate\Support\Collection;
6
7
class CollectionResponse extends Response
8
{
9
    /** @var \Illuminate\Support\Collection */
10
    protected $collection;
11
12
    /** @var string */
13
    protected $resourceClass;
14
15
    public function __construct(Collection $collection, ?string $resourceClass = null)
16
    {
17
        $this->collection = $collection;
18
        $this->resourceClass = $resourceClass;
19
    }
20
21
    public function toResponse($request)
22
    {
23
        if (empty($this->resourceClass)) {
24
            return (new DefaultResponse($this->collection))
25
                ->setStatusCode($this->statusCode)
26
                ->toResponse($request);
27
        }
28
29
        return $this->resourceClass::collection($this->collection)
30
            ->toResponse($request)
31
            ->setStatusCode($this->statusCode);
32
    }
33
}
34