Code Duplication    Length = 3-3 lines in 5 locations

Controller/QueueController.php 5 locations

@@ 319-321 (lines=3) @@
316
    protected function getRegexDate($type)
317
    {
318
        switch ($type) {
319
            case 'YEAR':
320
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
321
                    'interval' => new \DateInterval('P10Y'), ];
322
            case 'MONTH':
323
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
324
                    'interval' => new \DateInterval('P12M'), ];
@@ 322-324 (lines=3) @@
319
            case 'YEAR':
320
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
321
                    'interval' => new \DateInterval('P10Y'), ];
322
            case 'MONTH':
323
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
324
                    'interval' => new \DateInterval('P12M'), ];
325
            case 'DAY':
326
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
327
                    'interval' => new \DateInterval('P31D'), ];
@@ 325-327 (lines=3) @@
322
            case 'MONTH':
323
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
324
                    'interval' => new \DateInterval('P12M'), ];
325
            case 'DAY':
326
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
327
                    'interval' => new \DateInterval('P31D'), ];
328
            case 'HOUR':
329
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
330
                    'interval' => new \DateInterval('PT24H'), ];
@@ 328-330 (lines=3) @@
325
            case 'DAY':
326
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
327
                    'interval' => new \DateInterval('P31D'), ];
328
            case 'HOUR':
329
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
330
                    'interval' => new \DateInterval('PT24H'), ];
331
            case 'MINUTE':
332
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
333
                    'interval' => new \DateInterval('PT3600S'), ];
@@ 331-333 (lines=3) @@
328
            case 'HOUR':
329
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
330
                    'interval' => new \DateInterval('PT24H'), ];
331
            case 'MINUTE':
332
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
333
                    'interval' => new \DateInterval('PT3600S'), ];
334
        }
335
        throw new \InvalidArgumentException("Invalid type $type");
336
    }