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 ( ad69bc...66d34b )
by
unknown
05:26
created

OneSignalMessage::setImageAttachments()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 9
ccs 6
cts 6
cp 1
rs 9.6666
cc 1
eloc 6
nc 1
nop 1
crap 1
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 11
    public function __construct($body = '')
47
    {
48 11
        $this->body = $body;
49 11
    }
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
     * Set an image to all possible attachment variables.
167
     * @param string $imageUrl
168
     *
169
     * @return $this
170
     */
171 1
    public function setImageAttachments($imageUrl)
172
    {
173 1
        $this->extraParameters['ios_attachments']['id1'] = $imageUrl;
174 1
        $this->extraParameters['big_picture'] = $imageUrl;
175 1
        $this->extraParameters['adm_big_picture'] = $imageUrl;
176 1
        $this->extraParameters['chrome_big_picture'] = $imageUrl;
177
178 1
        return $this;
179
    }
180
181
    /**
182
     * @return array
183
     */
184 11
    public function toArray()
185
    {
186
        $message = [
187 11
            'contents' => ['en' => $this->body],
188 11
            'headings' => ['en' => $this->subject],
189 11
            'url' => $this->url,
190 11
            'buttons' => $this->buttons,
191 11
            'web_buttons' => $this->webButtons,
192 11
            'chrome_web_icon' => $this->icon,
193 11
            'chrome_icon' => $this->icon,
194 11
            'adm_small_icon' => $this->icon,
195 11
            'small_icon' => $this->icon,
196
        ];
197
198 11
        foreach ($this->extraParameters as $key => $value) {
199 1
            Arr::set($message, $key, $value);
200
        }
201
202 11
        foreach ($this->data as $data => $value) {
203 1
            Arr::set($message, 'data.'.$data, $value);
204
        }
205
206 11
        return $message;
207
    }
208
}
209