IPv4Information::__get()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 5
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
// ---------------------------------------------------------------------
4
//
5
//  Copyright (C) 2018-2024 Artem Rodygin
6
//
7
//  You should have received a copy of the MIT License along with
8
//  this file. If not, see <https://opensource.org/licenses/MIT>.
9
//
10
// ---------------------------------------------------------------------
11
12
namespace Linode\LinodeInstances;
13
14
use Linode\Entity;
15
use Linode\Networking\IPAddress;
16
use Linode\Networking\IPAddressPrivate;
17
18
/**
19
 * Information about this Linode's IPv4 addresses.
20
 *
21
 * @property IPAddress[]        $public   A list of public IP Address objects belonging to this Linode.
22
 * @property IPAddressPrivate[] $private  A list of private IP Address objects belonging to this Linode.
23
 * @property IPAddress[]        $shared   A list of shared IP Address objects assigned to this Linode.
24
 * @property IPAddress[]        $reserved A list of reserved IP Address objects belonging to this Linode.
25
 */
26
class IPv4Information extends Entity
27
{
28
    /**
29
     * @codeCoverageIgnore This method was autogenerated.
30
     */
31
    public function __get(string $name): ?array
32
    {
33
        return match ($name) {
34
            'private' => array_map(fn ($data) => new IPAddressPrivate($this->client, $data), $this->data[$name]),
35
            default   => array_map(fn ($data) => new IPAddress($this->client, $data), $this->data[$name]),
36
        };
37
    }
38
}
39