Code Duplication    Length = 3-3 lines in 5 locations

Controller/TrendsController.php 5 locations

@@ 182-184 (lines=3) @@
179
    protected function getRegexDate($type)
180
    {
181
        switch ($type) {
182
            case 'YEAR':
183
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
184
                    'interval' => new \DateInterval('P10Y'), ];
185
            case 'MONTH':
186
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
187
                    'interval' => new \DateInterval('P12M'), ];
@@ 185-187 (lines=3) @@
182
            case 'YEAR':
183
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1'],
184
                    'interval' => new \DateInterval('P10Y'), ];
185
            case 'MONTH':
186
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
187
                    'interval' => new \DateInterval('P12M'), ];
188
            case 'DAY':
189
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
190
                    'interval' => new \DateInterval('P31D'), ];
@@ 188-190 (lines=3) @@
185
            case 'MONTH':
186
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2'],
187
                    'interval' => new \DateInterval('P12M'), ];
188
            case 'DAY':
189
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
190
                    'interval' => new \DateInterval('P31D'), ];
191
            case 'HOUR':
192
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
193
                    'interval' => new \DateInterval('PT24H'), ];
@@ 191-193 (lines=3) @@
188
            case 'DAY':
189
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3'],
190
                    'interval' => new \DateInterval('P31D'), ];
191
            case 'HOUR':
192
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
193
                    'interval' => new \DateInterval('PT24H'), ];
194
            case 'MINUTE':
195
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
196
                    'interval' => new \DateInterval('PT3600S'), ];
@@ 194-196 (lines=3) @@
191
            case 'HOUR':
192
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4'],
193
                    'interval' => new \DateInterval('PT24H'), ];
194
            case 'MINUTE':
195
                return ['replace' => ['regex' => '(\d+)\-(\d+)\-(\d+)T(\d+):(\d+):(\d+).+$', 'replacement' => '$1-$2-$3 $4:$5'],
196
                    'interval' => new \DateInterval('PT3600S'), ];
197
        }
198
        throw new \InvalidArgumentException("Invalid type $type");
199
    }