aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-03-06 09:46:04 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-03-06 09:46:04 +0000
commitdbf42e379becc5612a0efe3476a999a9d6d803f0 (patch)
tree63809e19f53fc202369acae0bd027ba2352b9d2a
parente0cded2bbfc72ebbdae5b3c5926dc67f8fb59631 (diff)
downloadrails-dbf42e379becc5612a0efe3476a999a9d6d803f0.tar.gz
rails-dbf42e379becc5612a0efe3476a999a9d6d803f0.tar.bz2
rails-dbf42e379becc5612a0efe3476a999a9d6d803f0.zip
Prefer MIME constants to strings. Closes #7707.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6350 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/deprecated_request_methods.rb6
-rw-r--r--actionpack/lib/action_controller/mime_type.rb8
-rwxr-xr-xactionpack/lib/action_controller/request.rb8
-rwxr-xr-xactionpack/lib/action_controller/response.rb2
-rw-r--r--actionpack/lib/action_controller/test_process.rb14
-rw-r--r--actionpack/lib/action_view/base.rb4
-rw-r--r--actionpack/lib/action_view/helpers/asset_tag_helper.rb14
-rw-r--r--actionpack/lib/action_view/helpers/java_script_macros_helper.rb12
-rw-r--r--actionpack/lib/action_view/helpers/javascript_helper.rb4
-rw-r--r--actionpack/lib/action_view/helpers/url_helper.rb2
11 files changed, 39 insertions, 37 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 4b5657a579..669732a148 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Prefer MIME constants to strings. #7707 [Dan Kubb]
+
* Allow array and hash query parameters. Array route parameters are converted/to/a/path as before. #6765, #7047, #7462 [bgipsy, Jeremy McAnally, Dan Kubb, brendan]
# Add a #dbman attr_reader for CGI::Session and make CGI::Session::CookieStore#generate_digest public so it's easy to generate digests
diff --git a/actionpack/lib/action_controller/deprecated_request_methods.rb b/actionpack/lib/action_controller/deprecated_request_methods.rb
index a6cf87e358..93663bdda4 100644
--- a/actionpack/lib/action_controller/deprecated_request_methods.rb
+++ b/actionpack/lib/action_controller/deprecated_request_methods.rb
@@ -6,10 +6,10 @@ module ActionController
# For backward compatibility, the post format is extracted from the
# X-Post-Data-Format HTTP header if present.
def post_format
- case content_type.to_s
- when 'application/xml'
+ case content_type
+ when Mime::XML
:xml
- when 'application/x-yaml'
+ when Mime::YAML
:yaml
else
:url_encoded
diff --git a/actionpack/lib/action_controller/mime_type.rb b/actionpack/lib/action_controller/mime_type.rb
index 17b3d861ec..b179fe2f89 100644
--- a/actionpack/lib/action_controller/mime_type.rb
+++ b/actionpack/lib/action_controller/mime_type.rb
@@ -24,7 +24,7 @@ module Mime
def initialize(order, name, q=nil)
@order = order
@name = name.strip
- q ||= 0.0 if @name == "*/*" # default "*/*" to end of list
+ q ||= 0.0 if @name == Mime::ALL # default wilcard match to end of list
@q = ((q || 1.0).to_f * 100).to_i
end
@@ -70,7 +70,7 @@ module Mime
# Take care of the broken text/xml entry by renaming or deleting it
text_xml = list.index("text/xml")
- app_xml = list.index("application/xml")
+ app_xml = list.index(Mime::XML.to_s)
if text_xml && app_xml
# set the q value to the max of the two
@@ -84,9 +84,9 @@ module Mime
# delete text_xml from the list
list.delete_at(text_xml)
-
+
elsif text_xml
- list[text_xml].name = "application/xml"
+ list[text_xml].name = Mime::XML.to_s
end
# Look for more specific xml-based types and sort them ahead of app/xml
diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb
index 38584a6481..cd80415f82 100755
--- a/actionpack/lib/action_controller/request.rb
+++ b/actionpack/lib/action_controller/request.rb
@@ -60,16 +60,16 @@ module ActionController
begin
# Receive header sans any charset information.
content_type = @env['CONTENT_TYPE'].to_s.sub(/\s*\;.*$/, '').strip.downcase
-
+
if x_post_format = @env['HTTP_X_POST_DATA_FORMAT']
case x_post_format.to_s.downcase
when 'yaml'
- content_type = 'application/x-yaml'
+ content_type = Mime::YAML.to_s
when 'xml'
- content_type = 'application/xml'
+ content_type = Mime::XML.to_s
end
end
-
+
Mime::Type.lookup(content_type)
end
end
diff --git a/actionpack/lib/action_controller/response.rb b/actionpack/lib/action_controller/response.rb
index 38647670f2..429b3eff32 100755
--- a/actionpack/lib/action_controller/response.rb
+++ b/actionpack/lib/action_controller/response.rb
@@ -20,7 +20,7 @@ module ActionController
end
def charset=(encoding)
- self.headers["Content-Type"] = "#{content_type || "text/html"}; charset=#{encoding}"
+ self.headers["Content-Type"] = "#{content_type || Mime::HTML}; charset=#{encoding}"
end
def charset
diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb
index beccec6f94..b1eb9e38ef 100644
--- a/actionpack/lib/action_controller/test_process.rb
+++ b/actionpack/lib/action_controller/test_process.rb
@@ -325,29 +325,29 @@ module ActionController #:nodoc:
class TestUploadedFile
# The filename, *not* including the path, of the "uploaded" file
attr_reader :original_filename
-
+
# The content type of the "uploaded" file
attr_reader :content_type
-
- def initialize(path, content_type = 'text/plain')
+
+ def initialize(path, content_type = Mime::TEXT)
raise "#{path} file does not exist" unless File.exist?(path)
@content_type = content_type
@original_filename = path.sub(/^.*#{File::SEPARATOR}([^#{File::SEPARATOR}]+)$/) { $1 }
@tempfile = Tempfile.new(@original_filename)
FileUtils.copy_file(path, @tempfile.path)
end
-
+
def path #:nodoc:
@tempfile.path
end
-
+
alias local_path path
-
+
def method_missing(method_name, *args, &block) #:nodoc:
@tempfile.send(method_name, *args, &block)
end
end
-
+
module TestProcess
def self.included(base)
# execute the request simulating a specific http method and set/volley the response
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb
index 1b3cf5d95e..d66b43cd68 100644
--- a/actionpack/lib/action_view/base.rb
+++ b/actionpack/lib/action_view/base.rb
@@ -470,11 +470,11 @@ module ActionView #:nodoc:
if template_requires_setup?(extension)
body = case extension.to_sym
when :rxml, :builder
- "controller.response.content_type ||= 'application/xml'\n" +
+ "controller.response.content_type ||= Mime::XML\n" +
"xml = Builder::XmlMarkup.new(:indent => 2)\n" +
template
when :rjs
- "controller.response.content_type ||= 'text/javascript'\n" +
+ "controller.response.content_type ||= Mime::JS\n" +
"update_page do |page|\n#{template}\nend"
end
else
diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
index 93e695ddbb..8b9e4094ce 100644
--- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
@@ -149,19 +149,19 @@ module ActionView
if !File.exists?(joined_javascript_path)
File.open(joined_javascript_path, "w+") do |cache|
javascript_paths = expand_javascript_sources(sources).collect do |source|
- compute_public_path(source, 'javascripts', 'js', false)
+ compute_public_path(source, 'javascripts', 'js', false)
end
cache.write(join_asset_file_contents(javascript_paths))
end
end
- content_tag("script", "", {
- "type" => "text/javascript", "src" => javascript_path(joined_javascript_name)
+ content_tag("script", "", {
+ "type" => Mime::JS, "src" => javascript_path(joined_javascript_name)
}.merge(options))
else
expand_javascript_sources(sources).collect do |source|
- content_tag("script", "", { "type" => "text/javascript", "src" => javascript_path(source) }.merge(options))
+ content_tag("script", "", { "type" => Mime::JS, "src" => javascript_path(source) }.merge(options))
end.join("\n")
end
end
@@ -252,15 +252,15 @@ module ActionView
end
tag("link", {
- "rel" => "Stylesheet", "type" => "text/css", "media" => "screen",
+ "rel" => "Stylesheet", "type" => Mime::CSS, "media" => "screen",
"href" => stylesheet_path(joined_stylesheet_name)
}.merge(options))
else
options.delete("cache")
expand_stylesheet_sources(sources).collect do |source|
- tag("link", {
- "rel" => "Stylesheet", "type" => "text/css", "media" => "screen", "href" => stylesheet_path(source)
+ tag("link", {
+ "rel" => "Stylesheet", "type" => Mime::CSS, "media" => "screen", "href" => stylesheet_path(source)
}.merge(options))
end.join("\n")
end
diff --git a/actionpack/lib/action_view/helpers/java_script_macros_helper.rb b/actionpack/lib/action_view/helpers/java_script_macros_helper.rb
index 6304a1a8b2..0d9e87fba0 100644
--- a/actionpack/lib/action_view/helpers/java_script_macros_helper.rb
+++ b/actionpack/lib/action_view/helpers/java_script_macros_helper.rb
@@ -198,10 +198,10 @@ module ActionView
content_tag("div", "", :id => "#{object}_#{method}_auto_complete", :class => "auto_complete") +
auto_complete_field("#{object}_#{method}", { :url => { :action => "auto_complete_for_#{object}_#{method}" } }.update(completion_options))
end
-
+
private
def auto_complete_stylesheet
- content_tag('style', <<-EOT, :type => 'text/css')
+ content_tag('style', <<-EOT, :type => Mime::CSS)
div.auto_complete {
width: 350px;
background: #fff;
@@ -217,17 +217,17 @@ module ActionView
margin:0;
padding:3px;
}
- div.auto_complete ul li.selected {
- background-color: #ffb;
+ div.auto_complete ul li.selected {
+ background-color: #ffb;
}
- div.auto_complete ul strong.highlight {
+ div.auto_complete ul strong.highlight {
color: #800;
margin:0;
padding:0;
}
EOT
end
-
+
end
end
end
diff --git a/actionpack/lib/action_view/helpers/javascript_helper.rb b/actionpack/lib/action_view/helpers/javascript_helper.rb
index ad74a85584..4dd7854367 100644
--- a/actionpack/lib/action_view/helpers/javascript_helper.rb
+++ b/actionpack/lib/action_view/helpers/javascript_helper.rb
@@ -132,7 +132,7 @@ module ActionView
# public/javascripts/ directory, and use +javascript_include_tag+ to
# create remote <script> links.
def define_javascript_functions
- javascript = '<script type="text/javascript">'
+ javascript = "<script type=\"#{Mime::JS}\">"
# load prototype.js and its extensions first
prototype_libs = Dir.glob(File.join(JAVASCRIPT_PATH, 'prototype*')).sort.reverse
@@ -166,7 +166,7 @@ module ActionView
# +html_options+ may be a hash of attributes for the <script> tag. Example:
# javascript_tag "alert('All is good')", :defer => 'true' # => <script defer="true" type="text/javascript">alert('All is good')</script>
def javascript_tag(content, html_options = {})
- content_tag("script", javascript_cdata_section(content), html_options.merge(:type => "text/javascript"))
+ content_tag("script", javascript_cdata_section(content), html_options.merge(:type => Mime::JS))
end
def javascript_cdata_section(content) #:nodoc:
diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb
index 688790094b..dc9154dea5 100644
--- a/actionpack/lib/action_view/helpers/url_helper.rb
+++ b/actionpack/lib/action_view/helpers/url_helper.rb
@@ -295,7 +295,7 @@ module ActionView
for i in 0...tmp.length
string << sprintf("%%%x",tmp[i])
end
- "<script type=\"text/javascript\">eval(unescape('#{string}'))</script>"
+ "<script type=\"#{Mime::JS}\">eval(unescape('#{string}'))</script>"
elsif encode == "hex"
email_address_encoded = ''
email_address_obfuscated.each_byte do |c|