ApnsFcmOptions   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 69
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 0
dl 0
loc 69
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getAnalyticsLabel() 0 4 1
A setAnalyticsLabel() 0 6 1
A getImage() 0 4 1
A setImage() 0 6 1
A create() 0 4 1
A toArray() 0 7 1
1
<?php
2
3
namespace NotificationChannels\Fcm\Resources;
4
5
class ApnsFcmOptions implements FcmResource
6
{
7
    /**
8
     * @var string|null
9
     */
10
    protected $analyticsLabel;
11
12
    /**
13
     * @var string|null
14
     */
15
    protected $image;
16
17
    /**
18
     * @return string|null
19
     */
20
    public function getAnalyticsLabel(): ?string
21
    {
22
        return $this->analyticsLabel;
23
    }
24
25
    /**
26
     * @param string|null $analyticsLabel
27
     * @return ApnsFcmOptions
28
     */
29
    public function setAnalyticsLabel(?string $analyticsLabel): self
30
    {
31
        $this->analyticsLabel = $analyticsLabel;
32
33
        return $this;
34
    }
35
36
    /**
37
     * @return string|null
38
     */
39
    public function getImage(): ?string
40
    {
41
        return $this->image;
42
    }
43
44
    /**
45
     * @param string|null $image
46
     * @return ApnsFcmOptions
47
     */
48
    public function setImage(?string $image): self
49
    {
50
        $this->image = $image;
51
52
        return $this;
53
    }
54
55
    /**
56
     * @return static
57
     */
58
    public static function create(): self
59
    {
60
        return new self;
61
    }
62
63
    /**
64
     * {@inheritdoc}
65
     */
66
    public function toArray(): array
67
    {
68
        return [
69
            'analytics_label' => $this->getAnalyticsLabel(),
70
            'image' => $this->getImage(),
71
        ];
72
    }
73
}
74