GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( 9e8794...934faf )
by
unknown
01:50
created

OneSignalMessage::toArray()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 24
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 3.0026

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 24
ccs 14
cts 15
cp 0.9333
rs 8.9713
cc 3
eloc 16
nc 4
nop 0
crap 3.0026
1
<?php
2
3
namespace NotificationChannels\OneSignal;
4
5
use Illuminate\Support\Arr;
6
7
class OneSignalMessage
8
{
9
    /** @var string */
10
    protected $body;
11
12
    /** @var string */
13
    protected $subject;
14
15
    /** @var string */
16
    protected $url;
17
18
    /** @var string */
19
    protected $icon;
20
21
    /** @var array */
22
    protected $data = [];
23
24
    /** @var array */
25
    protected $buttons = [];
26
27
    /** @var array */
28
    protected $webButtons = [];
29
30
    /** @var array */
31
    protected $extraParameters = [];
32
33
    /**
34
     * @param string $body
35
     *
36
     * @return static
37
     */
38 1
    public static function create($body = '')
39
    {
40 1
        return new static($body);
41
    }
42
43
    /**
44
     * @param string $body
45
     */
46 10
    public function __construct($body = '')
47
    {
48 10
        $this->body = $body;
49 10
    }
50
51
    /**
52
     * Set the message body.
53
     *
54
     * @param string $value
55
     *
56
     * @return $this
57
     */
58 1
    public function body($value)
59
    {
60 1
        $this->body = $value;
61
62 1
        return $this;
63
    }
64
65
    /**
66
     * Set the message icon.
67
     *
68
     * @param string $value
69
     *
70
     * @return $this
71
     */
72 2
    public function icon($value)
73
    {
74 2
        $this->icon = $value;
75
76 2
        return $this;
77
    }
78
79
    /**
80
     * Set the message subject.
81
     *
82
     * @param string $value
83
     *
84
     * @return $this
85
     */
86 2
    public function subject($value)
87
    {
88 2
        $this->subject = $value;
89
90 2
        return $this;
91
    }
92
93
    /**
94
     * Set the message url.
95
     *
96
     * @param string $value
97
     *
98
     * @return $this
99
     */
100 2
    public function url($value)
101
    {
102 2
        $this->url = $value;
103
104 2
        return $this;
105
    }
106
107
    /**
108
     * Set additional data.
109
     *
110
     * @param string $key
111
     * @param string $value
112
     *
113
     * @return $this
114
     */
115 1
    public function setData($key, $value)
116
    {
117 1
        $this->data[$key] = $value;
118
119 1
        return $this;
120
    }
121
122
    /**
123
     * Set additional parameters.
124
     *
125
     * @param string $key
126
     * @param string $value
127
     *
128
     * @return $this
129
     */
130
    public function setParameter($key, $value)
131
    {
132
        $this->extraParameters[$key] = $value;
133
134
        return $this;
135
    }
136
137
    /**
138
     * Add a web button to the message.
139
     *
140
     * @param OneSignalWebButton $button
141
     *
142
     * @return $this
143
     */
144 1
    public function webButton(OneSignalWebButton $button)
145
    {
146 1
        $this->webButtons[] = $button->toArray();
147
148 1
        return $this;
149
    }
150
151
    /**
152
     * Add a native button to the message.
153
     *
154
     * @param OneSignalButton $button
155
     *
156
     * @return $this
157
     */
158 1
    public function button(OneSignalButton $button)
159
    {
160 1
        $this->buttons[] = $button->toArray();
161
162 1
        return $this;
163
    }
164
165
    /**
166
     * @return array
167
     */
168 10
    public function toArray()
169
    {
170
        $message = [
171 10
            'contents' => ['en' => $this->body],
172 10
            'headings' => ['en' => $this->subject],
173 10
            'url' => $this->url,
174 10
            'buttons' => $this->buttons,
175 10
            'web_buttons' => $this->webButtons,
176 10
            'chrome_web_icon' => $this->icon,
177 10
            'chrome_icon' => $this->icon,
178 10
            'adm_small_icon' => $this->icon,
179 10
            'small_icon' => $this->icon,
180
        ];
181
182 10
        foreach ($this->extraParameters as $key => $value) {
183
            Arr::set($message, $key, $value);
184
        }
185
186 10
        foreach ($this->data as $data => $value) {
187 1
            Arr::set($message, 'data.'.$data, $value);
188
        }
189
190 10
        return $message;
191
    }
192
}
193