Merge branch 'master' of github.com:rails/rails
This commit is contained in:
commit
44587b7fae
@ -102,9 +102,14 @@ def initialize(controller, resources, options={})
|
||||
# not defined, call to_format.
|
||||
#
|
||||
def self.call(*args)
|
||||
responder = new(*args)
|
||||
method = :"to_#{responder.format}"
|
||||
responder.respond_to?(method) ? responder.send(method) : responder.to_format
|
||||
new(*args).respond
|
||||
end
|
||||
|
||||
# Main entry point for responder responsible to dispatch to the proper format.
|
||||
#
|
||||
def respond
|
||||
method = :"to_#{format}"
|
||||
respond_to?(method) ? send(method) : to_format
|
||||
end
|
||||
|
||||
# HTML format does not render the resource, it always attempt to render a
|
||||
|
@ -640,6 +640,7 @@ def test_fragment_for_logging
|
||||
|
||||
assert fragment_computed
|
||||
assert_equal 'generated till now -> ', buffer
|
||||
ActiveSupport::Notifications.notifier.wait
|
||||
assert_equal [:fragment_exist?, :write_fragment], events.map(&:first)
|
||||
end
|
||||
|
||||
|
@ -507,6 +507,13 @@ def using_resource_with_action
|
||||
end
|
||||
end
|
||||
|
||||
def using_responder_with_respond
|
||||
responder = Class.new(ActionController::Responder) do
|
||||
def respond; @controller.render :text => "respond #{format}"; end
|
||||
end
|
||||
respond_with(Customer.new("david", 13), :responder => responder)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def _render_js(js, options)
|
||||
@ -735,6 +742,16 @@ def render(params={})
|
||||
assert_equal "foo - #{[:html].to_s}", @controller.response_body
|
||||
end
|
||||
|
||||
def test_respond_as_responder_entry_point
|
||||
@request.accept = "text/html"
|
||||
get :using_responder_with_respond
|
||||
assert_equal "respond html", @response.body
|
||||
|
||||
@request.accept = "application/xml"
|
||||
get :using_responder_with_respond
|
||||
assert_equal "respond xml", @response.body
|
||||
end
|
||||
|
||||
def test_clear_respond_to
|
||||
@controller = InheritedRespondWithController.new
|
||||
@request.accept = "text/html"
|
||||
|
Loading…
Reference in New Issue
Block a user