summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2018-08-12 23:37:19 +0000
committerGo MAEDA <maeda@farend.jp>2018-08-12 23:37:19 +0000
commit02191a08fdd2b4267167230525dfbe676d751ce9 (patch)
tree10a2d3b2f3b561bceae3cf2c4d6115d0f480ef1b
parentd510c4e50e32d48c83416b932d81ca36fac198ad (diff)
downloadredmine-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--Gemfile2
-rw-r--r--lib/redmine/mime_type.rb6
2 files changed, 4 insertions, 4 deletions
diff --git a/Gemfile b/Gemfile
index bfd3d067f..bbd80f5a9 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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]