Code Duplication    Length = 3-3 lines in 5 locations

Controller/QueueController.php 5 locations

@@ 283-285 (lines=3) @@
280
    protected function getRegexDate($type)
281
    {
282
        switch ($type) {
283
            case 'YEAR':
284
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
285
                    'interval' => new \DateInterval('P10Y'), ];
286
            case 'MONTH':
287
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
288
                    'interval' => new \DateInterval('P12M'), ];
@@ 286-288 (lines=3) @@
283
            case 'YEAR':
284
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
285
                    'interval' => new \DateInterval('P10Y'), ];
286
            case 'MONTH':
287
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
288
                    'interval' => new \DateInterval('P12M'), ];
289
            case 'DAY':
290
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
291
                    'interval' => new \DateInterval('P31D'), ];
@@ 289-291 (lines=3) @@
286
            case 'MONTH':
287
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
288
                    'interval' => new \DateInterval('P12M'), ];
289
            case 'DAY':
290
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
291
                    'interval' => new \DateInterval('P31D'), ];
292
            case 'HOUR':
293
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
294
                    'interval' => new \DateInterval('PT24H'), ];
@@ 292-294 (lines=3) @@
289
            case 'DAY':
290
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
291
                    'interval' => new \DateInterval('P31D'), ];
292
            case 'HOUR':
293
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
294
                    'interval' => new \DateInterval('PT24H'), ];
295
            case 'MINUTE':
296
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
297
                    'interval' => new \DateInterval('PT3600S'), ];
@@ 295-297 (lines=3) @@
292
            case 'HOUR':
293
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
294
                    'interval' => new \DateInterval('PT24H'), ];
295
            case 'MINUTE':
296
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
297
                    'interval' => new \DateInterval('PT3600S'), ];
298
        }
299
        throw new \InvalidArgumentException("Invalid type $type");
300
    }