diff options
author | Go MAEDA <maeda@farend.jp> | 2018-08-12 23:37:19 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2018-08-12 23:37:19 +0000 |
commit | 02191a08fdd2b4267167230525dfbe676d751ce9 (patch) | |
tree | 10a2d3b2f3b561bceae3cf2c4d6115d0f480ef1b | |
parent | d510c4e50e32d48c83416b932d81ca36fac198ad (diff) | |
download | redmine-02191a08fdd2b4267167230525dfbe676d751ce9.tar.gz redmine-02191a08fdd2b4267167230525dfbe676d751ce9.zip |
Replace mime-types gem with more efficient mini_mime gem (#29359).
Contributed by Pavel Rosický.
git-svn-id: http://svn.redmine.org/redmine/trunk@17468 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | Gemfile | 2 | ||||
-rw-r--r-- | lib/redmine/mime_type.rb | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -7,7 +7,7 @@ end gem "rails", "5.2.1" gem "coderay", "~> 1.1.1" gem "request_store", "1.0.5" -gem "mime-types", "~> 3.0" +gem "mini_mime", "~> 1.0" gem "actionpack-xml_parser" gem "roadie-rails", "~> 1.3.0" gem "roadie", "~> 3.2.1" diff --git a/lib/redmine/mime_type.rb b/lib/redmine/mime_type.rb index 38b6409aa..090bc506e 100644 --- a/lib/redmine/mime_type.rb +++ b/lib/redmine/mime_type.rb @@ -62,11 +62,11 @@ module Redmine # returns mime type for name or nil if unknown def self.of(name) return nil unless name.present? - if m = name.to_s.match(/(^|\.)([^\.]+)$/) - extension = m[2].downcase + extension = File.extname(name)[1..-1].to_s.downcase + if extension.present? @known_types ||= Hash.new do |h, ext| type = EXTENSIONS[ext] - type ||= MIME::Types.type_for(ext).first.to_s.presence + type ||= MiniMime.lookup_by_filename("a.#{ext}").try(:content_type) h[ext] = type end @known_types[extension] |