Code Duplication    Length = 19-22 lines in 2 locations

src/Api/MailingList/Member.php 2 locations

@@ 147-168 (lines=22) @@
144
145
            Assert::isArray($data);
146
147
            foreach ($data as $field => &$value) {
148
                switch ($field) {
149
                    case 'address':
150
                        Assert::stringNotEmpty($value);
151
152
                        break;
153
                    case 'vars':
154
                        if (is_array($value)) {
155
                            $value = json_encode($value);
156
                        }
157
                        // We should assert that "vars"'s $value is a string.
158
                        // no break
159
                    case 'name':
160
                        Assert::string($value);
161
162
                        break;
163
                    case 'subscribed':
164
                        Assert::oneOf($value, ['yes', 'no']);
165
166
                        break;
167
                }
168
            }
169
        }
170
171
        $params = [
@@ 198-216 (lines=19) @@
195
        Assert::stringNotEmpty($address);
196
        Assert::isArray($parameters);
197
198
        foreach ($parameters as $field => $value) {
199
            switch ($field) {
200
                case 'vars':
201
                    if (is_array($value)) {
202
                        $value = json_encode($value);
203
                    }
204
                    // We should assert that "vars"'s $value is a string.
205
                    // no break
206
                case 'address':
207
                case 'name':
208
                    Assert::stringNotEmpty($value);
209
210
                    break;
211
                case 'subscribed':
212
                    Assert::oneOf($value, ['yes', 'no']);
213
214
                    break;
215
            }
216
        }
217
218
        $response = $this->httpPut(sprintf('/v3/lists/%s/members/%s', $list, $address), $parameters);
219