From a5af952bd6cea8c26691e2287628fcb9874a6b1b Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 24 May 2011 13:54:29 -0500 Subject: [PATCH] Move mime types to separate yaml file --- lib/linguist/mime.rb | 18 +++++++----------- lib/linguist/mimes.yml | 11 +++++++++++ 2 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 lib/linguist/mimes.yml diff --git a/lib/linguist/mime.rb b/lib/linguist/mime.rb index 78266525..8311f6ed 100644 --- a/lib/linguist/mime.rb +++ b/lib/linguist/mime.rb @@ -1,16 +1,12 @@ require 'mime/types' +require 'yaml' -# Register additional binary extensions -binary = MIME::Types['application/octet-stream'].first -binary.extensions << 'dmg' -binary.extensions << 'dll' -MIME::Types.index_extensions(binary) - -# Register 'ear' and 'war' as java -java = MIME::Types['application/java-archive'].first -java.extensions << 'ear' -java.extensions << 'war' -MIME::Types.index_extensions(java) +# Register additional mime type extensions +YAML.load_file(File.expand_path("../mimes.yml", __FILE__)).each do |mime_type, exts| + mime = MIME::Types[mime_type].first + exts.each { |ext| mime.extensions << ext } + MIME::Types.index_extensions(mime) +end module Linguist module Mime diff --git a/lib/linguist/mimes.yml b/lib/linguist/mimes.yml new file mode 100644 index 00000000..7b1ae561 --- /dev/null +++ b/lib/linguist/mimes.yml @@ -0,0 +1,11 @@ +# Additional types to add to MIME::Types +# +# Review this list if we ever upgrade from mime-types 1.15 to 1.16 + +application/octet-stream: +- dmg +- dll + +application/java-archive: +- ear +- war