lib/webrat/core/mime.rb in davidtrogers-webrat-0.4.4.2 vs lib/webrat/core/mime.rb in davidtrogers-webrat-0.7.0
- old
+ new
@@ -1,29 +1,18 @@
module Webrat #:nodoc:
module MIME #:nodoc:
+ MIME_TYPES = Rack::Mime::MIME_TYPES.dup.merge(
+ ".multipart_form" => "multipart/form-data",
+ ".url_encoded_form" => "application/x-www-form-urlencoded"
+ ).freeze
- def self.mime_type(string_or_symbol) #:nodoc:
- if string_or_symbol.is_a?(String)
- string_or_symbol
- else
- case string_or_symbol
- when :text then "text/plain"
- when :html then "text/html"
- when :js then "text/javascript"
- when :css then "text/css"
- when :ics then "text/calendar"
- when :csv then "text/csv"
- when :xml then "application/xml"
- when :rss then "application/rss+xml"
- when :atom then "application/atom+xml"
- when :yaml then "application/x-yaml"
- when :multipart_form then "multipart/form-data"
- when :url_encoded_form then "application/x-www-form-urlencoded"
- when :json then "application/json"
- else
- raise ArgumentError.new("Invalid Mime type: #{string_or_symbol.inspect}")
- end
- end
+ def mime_type(type)
+ return type if type.nil? || type.to_s.include?("/")
+ type = ".#{type}" unless type.to_s[0] == ?.
+ MIME_TYPES.fetch(type) { |type|
+ raise ArgumentError.new("Invalid Mime type: #{type}")
+ }
end
+ module_function :mime_type
end
end