Refactor Redmine::MimeType.of. Uses MiniMime.lookup_by_extension instead of lookup_by_filename (#29359).

git-svn-id: http://svn.redmine.org/redmine/trunk@17473 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2018-08-15 14:01:31 +00:00
parent bd08684e1d
commit c0df5d1ae2
2 changed files with 6 additions and 10 deletions

View File

@@ -7,7 +7,7 @@ end
gem "rails", "5.2.1" gem "rails", "5.2.1"
gem "coderay", "~> 1.1.1" gem "coderay", "~> 1.1.1"
gem "request_store", "1.0.5" gem "request_store", "1.0.5"
gem "mini_mime", "~> 1.0" gem "mini_mime", "~> 1.0.1"
gem "actionpack-xml_parser" gem "actionpack-xml_parser"
gem "roadie-rails", "~> 1.3.0" gem "roadie-rails", "~> 1.3.0"
gem "roadie", "~> 3.2.1" gem "roadie", "~> 3.2.1"

View File

@@ -59,15 +59,11 @@ module Redmine
# returns mime type for name or nil if unknown # returns mime type for name or nil if unknown
def self.of(name) def self.of(name)
return nil unless name.present? ext = File.extname(name.to_s)[1..-1]
extension = File.extname(name)[1..-1].to_s.downcase if ext
if extension.present? ext.downcase!
@known_types ||= Hash.new do |h, ext| EXTENSIONS[ext] ||
type = EXTENSIONS[ext] ((mi = MiniMime.lookup_by_extension(ext)) && mi.content_type)
type ||= MiniMime.lookup_by_filename("a.#{ext}").try(:content_type)
h[ext] = type
end
@known_types[extension]
end end
end end