Code Duplication    Length = 7-7 lines in 4 locations

src/Form/Field/HasMany.php 4 locations

@@ 190-196 (lines=7) @@
187
            }, $keys));
188
189
            if ($field instanceof Field\Embeds) {
190
                $newRules = array_map(function ($v) use ($availInput, $field) {
191
                    list($r, $k, $c) = explode('.', $v);
192
                    $v = "{$r}.{$k}";
193
                    $embed = $field->getValidationRules([$field->column() => $availInput[$k][$c]]);
194
195
                    return $embed ? array_key_attach_str($embed, $v) : null;
196
                }, $newColumn);
197
                $rules = array_clean_merge($rules, array_filter($newRules));
198
199
                $newAttributes = array_map(function ($v) use ($availInput, $field) {
@@ 199-205 (lines=7) @@
196
                }, $newColumn);
197
                $rules = array_clean_merge($rules, array_filter($newRules));
198
199
                $newAttributes = array_map(function ($v) use ($availInput, $field) {
200
                    list($r, $k, $c) = explode('.', $v);
201
                    $v = "{$r}.{$k}";
202
                    $embed = $field->getValidationAttributes([$field->column() => $availInput[$k][$c]]);
203
204
                    return $embed ? array_key_attach_str($embed, $v) : null;
205
                }, $newColumn);
206
                $attributes = array_clean_merge($attributes, array_filter($newAttributes));
207
208
                $newInput = array_map(function ($v) use ($availInput, $field) {
@@ 208-214 (lines=7) @@
205
                }, $newColumn);
206
                $attributes = array_clean_merge($attributes, array_filter($newAttributes));
207
208
                $newInput = array_map(function ($v) use ($availInput, $field) {
209
                    list($r, $k, $c) = explode('.', $v);
210
                    $v = "{$r}.{$k}";
211
                    $embed = $field->getValidationInput([$field->column() => $availInput[$k][$c]]);
212
213
                    return $embed ? array_key_attach_str($embed, $v) : [null => 'null'];
214
                }, $newColumn);
215
                $newInputs = array_clean_merge($newInputs, array_filter($newInput, 'strlen', ARRAY_FILTER_USE_KEY));
216
217
                $newMessages = array_map(function ($v) use ($availInput, $field) {
@@ 217-223 (lines=7) @@
214
                }, $newColumn);
215
                $newInputs = array_clean_merge($newInputs, array_filter($newInput, 'strlen', ARRAY_FILTER_USE_KEY));
216
217
                $newMessages = array_map(function ($v) use ($availInput, $field) {
218
                    list($r, $k, $c) = explode('.', $v);
219
                    $v = "{$r}.{$k}";
220
                    $embed = $field->getValidationMessages([$field->column() => $availInput[$k][$c]]);
221
222
                    return $embed ? array_key_attach_str($embed, $v) : null;
223
                }, $newColumn);
224
                $messages = array_clean_merge($messages, array_filter($newMessages));
225
            } else {
226
                $fieldRules = is_array($fieldRules) ? implode('|', $fieldRules) : $fieldRules;