diff options
author | Emilio Tagua <miloops@gmail.com> | 2009-06-23 18:13:46 -0300 |
---|---|---|
committer | Emilio Tagua <miloops@gmail.com> | 2009-06-23 18:13:46 -0300 |
commit | b9088dce07f8525cdb84a1312a77b81db79067d6 (patch) | |
tree | 72ace069842b074981ba814ef1c335271176ce27 /actionpack/lib/action_dispatch | |
parent | 4864f92ee34e840307d968fa8b04972b6d786fe8 (diff) | |
parent | 4417a19b035d73eb46a5e06e296a4b1c8091bef1 (diff) | |
download | rails-b9088dce07f8525cdb84a1312a77b81db79067d6.tar.gz rails-b9088dce07f8525cdb84a1312a77b81db79067d6.tar.bz2 rails-b9088dce07f8525cdb84a1312a77b81db79067d6.zip |
Merge commit 'rails/master'
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/http/mime_type.rb | 14 | ||||
-rwxr-xr-x | actionpack/lib/action_dispatch/http/request.rb | 10 |
2 files changed, 17 insertions, 7 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_type.rb b/actionpack/lib/action_dispatch/http/mime_type.rb index 25156a4c75..27f27e27fe 100644 --- a/actionpack/lib/action_dispatch/http/mime_type.rb +++ b/actionpack/lib/action_dispatch/http/mime_type.rb @@ -2,7 +2,19 @@ require 'set' require 'active_support/core_ext/class/attribute_accessors' module Mime - SET = [] + class Mimes < Array + def symbols + @symbols ||= map {|m| m.to_sym } + end + + %w(<< concat shift unshift push pop []= clear compact! collect! + delete delete_at delete_if flatten! map! insert reject! reverse! + replace slice! sort! uniq!).each do |method| + define_method(method) {|*args| @symbols = nil; super(*args) } + end + end + + SET = Mimes.new EXTENSION_LOOKUP = {} LOOKUP = Hash.new { |h, k| h[k] = Type.new(k) unless k.blank? } diff --git a/actionpack/lib/action_dispatch/http/request.rb b/actionpack/lib/action_dispatch/http/request.rb index 140feb9a68..3f23a5af7a 100755 --- a/actionpack/lib/action_dispatch/http/request.rb +++ b/actionpack/lib/action_dispatch/http/request.rb @@ -180,12 +180,10 @@ module ActionDispatch else accepts.dup end.tap do |ret| - if defined?(ActionController::Http) - if ret == ONLY_ALL - ret.replace Mime::SET - elsif all = ret.index(Mime::ALL) - ret.delete_at(all) && ret.insert(all, *Mime::SET) - end + if ret == ONLY_ALL + ret.replace Mime::SET + elsif all = ret.index(Mime::ALL) + ret.delete_at(all) && ret.insert(all, *Mime::SET) end end else |