Passed
Push — master ( bfd7f8...fcc86f )
by Laurens
01:42 queued 30s
created

Beacon::setMajorIdentifier()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace LauLamanApps\ApplePassbook\MetaData;
6
7
use Ramsey\Uuid\UuidInterface;
8
9
class Beacon
10
{
11
    private string $minorIdentifier;
12
    private string $majorIdentifier;
13
    private UuidInterface $proximityUUID;
14
    private string $relevantText;
15
16
    public function __construct(UuidInterface $proximityUUID)
17
    {
18
        $this->proximityUUID = $proximityUUID;
19
    }
20
21
    public function setMinorIdentifier(string $minorIdentifier): void
22
    {
23
        $this->minorIdentifier = $minorIdentifier;
24
    }
25
26
    public function setMajorIdentifier(string $majorIdentifier): void
27
    {
28
        $this->majorIdentifier = $majorIdentifier;
29
    }
30
31
    public function setRelevantText(string $relevantText): void
32
    {
33
        $this->relevantText = $relevantText;
34
    }
35
36
    /**
37
     * @return array<string, float|string>
38
     */
39
    public function toArray(): array
40
    {
41
        $data = [
42
            'proximityUUID' => $this->proximityUUID->toString(),
43
        ];
44
45
        if (isset($this->minorIdentifier)) {
46
            $data['minor'] = $this->minorIdentifier;
47
        }
48
49
        if (isset($this->majorIdentifier)) {
50
            $data['major'] = $this->majorIdentifier;
51
        }
52
53
        if (isset($this->relevantText)) {
54
            $data['relevantText'] = $this->relevantText;
55
        }
56
57
        return $data;
58
    }
59
}
60