From 70c544df71dbea561d6136ecb13bee43cda64bd1 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Wed, 22 Apr 2009 00:22:07 -0700 Subject: Rack::Utils.body_to_s doesn't exist in 1.0 --- actionpack/lib/action_controller/abstract/renderer.rb | 14 +++++++++++++- actionpack/lib/action_controller/base/render.rb | 4 +++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'actionpack/lib/action_controller') diff --git a/actionpack/lib/action_controller/abstract/renderer.rb b/actionpack/lib/action_controller/abstract/renderer.rb index 2a68f048bd..a86eef889e 100644 --- a/actionpack/lib/action_controller/abstract/renderer.rb +++ b/actionpack/lib/action_controller/abstract/renderer.rb @@ -40,7 +40,7 @@ module AbstractController # # :api: plugin def render_to_string(options = {}) - Rack::Utils.body_to_s(render_to_body(options)).to_ary.join + AbstractController::Renderer.body_to_s(render_to_body(options)) end def _render_template(template, options) @@ -49,6 +49,18 @@ module AbstractController def view_paths() _view_paths end + # Return a string representation of a Rack-compatible response body. + def self.body_to_s(body) + if body.respond_to?(:to_str) + body + else + strings = [] + body.each { |part| strings << part.to_s } + body.close if body.respond_to?(:close) + strings.join + end + end + module ClassMethods def append_view_path(path) diff --git a/actionpack/lib/action_controller/base/render.rb b/actionpack/lib/action_controller/base/render.rb index 604dd31930..606df58518 100644 --- a/actionpack/lib/action_controller/base/render.rb +++ b/actionpack/lib/action_controller/base/render.rb @@ -1,3 +1,5 @@ +require 'action_controller/abstract/renderer' + module ActionController DEFAULT_RENDER_STATUS_CODE = "200 OK" @@ -318,7 +320,7 @@ module ActionController end def render_to_string(options = {}) - Rack::Utils.body_to_s(render_to_body(options)).to_ary.join + AbstractController::Renderer.body_to_s(render_to_body(options)) end # Clears the rendered results, allowing for another render to be performed. -- cgit v1.2.3