Completed
Push — master ( 9ec1c2...077634 )
by Clayton
02:20
created

AbstractPayload::setStatus()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace BrightComponents\Common\Payloads;
4
5
use Illuminate\Support\Collection;
6
7
abstract class AbstractPayload
8
{
9
    /**
10
     * The payload data.
11
     *
12
     * @var mixed|null
13
     */
14
    protected $data = null;
15
16
    /**
17
     * Construct a new Payload class.
18
     *
19
     * @param  mixed|null
20
     */
21
    public function __construct($data)
22
    {
23
        $this->setData($data);
24
    }
25
26
    /**
27
     * Set the response data.
28
     *
29
     * @return mixed|null
30
     */
31
    public function setData($data = null)
32
    {
33
        return tap($this, function ($payload) use ($data) {
34
            if (is_array($data)) {
35
                return $payload->data = $data;
36
            }
37
            if ($data instanceof Collection) {
38
                return $payload->data = $data->all();
39
            }
40
41
            return $payload->data = $data;
42
        });
43
    }
44
45
    /**
46
     * Get the payload data.
47
     *
48
     * @return mixed|null
49
     */
50
    public function getData()
51
    {
52
        return $this->data;
53
    }
54
}
55