diff options
author | José Valim <jose.valim@gmail.com> | 2009-10-17 12:54:03 -0300 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-10-17 12:54:03 -0300 |
commit | 2e37effd7203cad84459661e11db2be44586cb4f (patch) | |
tree | d6dd2b515de069b1cd7136ef26aa8d8fc77a3f6b /actionpack | |
parent | e13d232150921cdf0ec3d713caefa628d235152e (diff) | |
download | rails-2e37effd7203cad84459661e11db2be44586cb4f.tar.gz rails-2e37effd7203cad84459661e11db2be44586cb4f.tar.bz2 rails-2e37effd7203cad84459661e11db2be44586cb4f.zip |
Unify class_inheritable_accessor and extlib_inheritable_accessor and allow responder to be set in the class level.
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/metal/mime_responds.rb | 9 | ||||
-rw-r--r-- | actionpack/test/controller/mime_responds_test.rb | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/metal/mime_responds.rb b/actionpack/lib/action_controller/metal/mime_responds.rb index 3026067868..468c5f4fae 100644 --- a/actionpack/lib/action_controller/metal/mime_responds.rb +++ b/actionpack/lib/action_controller/metal/mime_responds.rb @@ -3,7 +3,8 @@ module ActionController #:nodoc: extend ActiveSupport::Concern included do - class_inheritable_reader :mimes_for_respond_to + extlib_inheritable_accessor :responder, :mimes_for_respond_to, :instance_writer => false + self.responder = ActionController::Responder clear_respond_to end @@ -46,7 +47,7 @@ module ActionController #:nodoc: # Clear all mimes in respond_to. # def clear_respond_to - write_inheritable_attribute(:mimes_for_respond_to, ActiveSupport::OrderedHash.new) + self.mimes_for_respond_to = ActiveSupport::OrderedHash.new end end @@ -221,10 +222,6 @@ module ActionController #:nodoc: end end - def responder - ActionController::Responder - end - protected # Collect mimes declared in the class method respond_to valid for the diff --git a/actionpack/test/controller/mime_responds_test.rb b/actionpack/test/controller/mime_responds_test.rb index a79648396c..b070f925d4 100644 --- a/actionpack/test/controller/mime_responds_test.rb +++ b/actionpack/test/controller/mime_responds_test.rb @@ -760,6 +760,14 @@ class RespondWithControllerTest < ActionController::TestCase assert_equal "Resource name is david", @response.body end + def test_using_resource_with_responder + RespondWithController.responder = proc { |c, r, o| c.render :text => "Resource name is #{r.first.name}" } + get :using_resource + assert_equal "Resource name is david", @response.body + ensure + RespondWithController.responder = ActionController::Responder + end + def test_not_acceptable @request.accept = "application/xml" get :using_defaults |