Code Duplication    Length = 19-22 lines in 2 locations

src/Api/MailingList/Member.php 2 locations

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