Completed
Pull Request — master (#253)
by
unknown
12:54
created

Balances::getUnavailable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Moip\Resource;
4
5
use stdClass;
6
7
/**
8
 * Class Balances.
9
 */
10
class Balances extends MoipResource
11
{
12
    /**
13
     * Path balances API.
14
     *
15
     * @const string
16
     */
17
    const PATH = 'balances';
18
19
    /**
20
     * Initialize a new instance.
21
     */
22
    public function initialize()
23
    {
24
        $this->data = new stdClass();
25
        $this->data->unavailable = [];
26
        $this->data->future = [];
27
        $this->data->current = [];
28
    }
29
30
    /**
31
     * Populate this instance.
32
     *
33
     * @param stdClass $response response object
34
     *
35
     * @return mixed|Balances
36
     */
37
    protected function populate(stdClass $response)
38
    {
39
        $balances = clone $this;
40
        $balances->data->unavailable = $this->getIfSet('unavailable', $response) ?: [];
41
        $balances->data->future = $this->getIfSet('future', $response) ?: [];
42
        $balances->data->current = $this->getIfSet('current', $response) ?: [];
43
44
        return $balances;
45
    }
46
47
    /**
48
     * Get all balances.
49
     *
50
     * @return stdClass
51
     */
52
    public function get()
53
    {
54
        $path = sprintf('/%s/%s', MoipResource::VERSION, self::PATH);
55
        return $this->getByPath($path, ['Accept' => static::ACCEPT_VERSION]);
56
    }
57
58
    /**
59
     * Get unavailable balances. Returns an array of objects with the amount and currency.
60
     *
61
     * @return array
62
     */
63
    public function getUnavailable()
64
    {
65
        return $this->data->unavailable;
66
    }
67
68
    /**
69
     * Get future balances. Returns an array of objects with the amount and currency.
70
     *
71
     * @return array
72
     */
73
    public function getFuture()
74
    {
75
        return $this->data->future;
76
    }
77
78
    /**
79
     * Get current balances. Returns an array of objects with the amount and currency.
80
     *
81
     * @return array
82
     */
83
    public function getCurrent()
84
    {
85
        return $this->data->current;
86
    }
87
}
88