Code Duplication    Length = 16-16 lines in 2 locations

src/DataFormatter.php 2 locations

@@ 114-129 (lines=16) @@
111
     * @param string $extension
112
     * @return DataFormatter
113
     */
114
    public static function for_extension($extension)
115
    {
116
        $classes = ClassInfo::subclassesFor(DataFormatter::class);
117
        array_shift($classes);
118
        $sortedClasses = array();
119
        foreach ($classes as $class) {
120
            $sortedClasses[$class] = singleton($class)->stat('priority');
121
        }
122
        arsort($sortedClasses);
123
        foreach ($sortedClasses as $className => $priority) {
124
            $formatter = new $className();
125
            if (in_array($extension, $formatter->supportedExtensions())) {
126
                return $formatter;
127
            }
128
        }
129
    }
130
131
    /**
132
     * Get formatter for the first matching extension.
@@ 154-169 (lines=16) @@
151
     * @param string $mimeType
152
     * @return DataFormatter
153
     */
154
    public static function for_mimetype($mimeType)
155
    {
156
        $classes = ClassInfo::subclassesFor(DataFormatter::class);
157
        array_shift($classes);
158
        $sortedClasses = array();
159
        foreach ($classes as $class) {
160
            $sortedClasses[$class] = singleton($class)->stat('priority');
161
        }
162
        arsort($sortedClasses);
163
        foreach ($sortedClasses as $className => $priority) {
164
            $formatter = new $className();
165
            if (in_array($mimeType, $formatter->supportedMimeTypes())) {
166
                return $formatter;
167
            }
168
        }
169
    }
170
171
    /**
172
     * Get formatter for the first matching mimetype.