Code Duplication    Length = 3-3 lines in 5 locations

Controller/QueueController.php 5 locations

@@ 345-347 (lines=3) @@
342
    protected function getRegexDate($type)
343
    {
344
        switch ($type) {
345
            case 'YEAR':
346
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
347
                    'interval' => new \DateInterval('P10Y'), ];
348
            case 'MONTH':
349
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
350
                    'interval' => new \DateInterval('P12M'), ];
@@ 348-350 (lines=3) @@
345
            case 'YEAR':
346
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
347
                    'interval' => new \DateInterval('P10Y'), ];
348
            case 'MONTH':
349
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
350
                    'interval' => new \DateInterval('P12M'), ];
351
            case 'DAY':
352
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
353
                    'interval' => new \DateInterval('P31D'), ];
@@ 351-353 (lines=3) @@
348
            case 'MONTH':
349
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
350
                    'interval' => new \DateInterval('P12M'), ];
351
            case 'DAY':
352
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
353
                    'interval' => new \DateInterval('P31D'), ];
354
            case 'HOUR':
355
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
356
                    'interval' => new \DateInterval('PT24H'), ];
@@ 354-356 (lines=3) @@
351
            case 'DAY':
352
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
353
                    'interval' => new \DateInterval('P31D'), ];
354
            case 'HOUR':
355
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
356
                    'interval' => new \DateInterval('PT24H'), ];
357
            case 'MINUTE':
358
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
359
                    'interval' => new \DateInterval('PT3600S'), ];
@@ 357-359 (lines=3) @@
354
            case 'HOUR':
355
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
356
                    'interval' => new \DateInterval('PT24H'), ];
357
            case 'MINUTE':
358
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
359
                    'interval' => new \DateInterval('PT3600S'), ];
360
        }
361
        throw new \InvalidArgumentException("Invalid type $type");
362
    }