Code Duplication    Length = 3-3 lines in 5 locations

Controller/QueueController.php 5 locations

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