string include method is 10x faster than creating

a new regex object every single time

Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
Neeraj Singh
2010-11-22 13:38:36 -05:00
committed by José Valim
parent 8154f4b816
commit c5bfc6abe4

View File

@@ -174,7 +174,7 @@ module Mime
# input: 'application'
# returend value: [Mime::HTML, Mime::JS, Mime::XML, Mime::YAML, Mime::ATOM, Mime::JSON, Mime::RSS, Mime::URL_ENCODED_FORM
def parse_data_with_trailing_star(input)
keys = Mime::LOOKUP.keys.select{|k| Regexp.new(input).match(k)}
keys = Mime::LOOKUP.keys.select{|k| k.include?(input)}
Mime::LOOKUP.select {|k,_| keys.include?(k)}.collect{|i| i[1]}.inject([]){|all,e| all.include?(e) ? all : all << e}
end
end