Hello World rack middleware con rails 3: cómo procesar el cuerpo de todas las solicitudes

Quiero probar un "middleware" de middleware de rack simple, pero parece que me atasco. parece que la sintaxis principal cambió, ya que algunos ejemplos usan este código:

require 'rack/utils'

class FooBar

  def initialize(app)
    @app = app
  end

  def call(env)
    status, headers, body = @app.call(env)
         body.body << "\nHi from #{self.class}"
         [status, headers, body]
  end
end

produce un error:

undefined method `<<' for #<ActionDispatch::Response:0x103f07c48>

incluso cuando miro otros códigos, parece que no puedo ejecutarlos con rails 3.0.3.

Aquí están mis preguntas concretas:

¿Cómo puedo obtener un middleware de rack simple para ejecutar y modificar el cuerpo de cualquier salida de una aplicación de rails?¿Dónde debo poner la declaración Rails.application.config.middleware.use? (Creé un inicializador propio en config / initializers para eso)

¡Muchas gracias por adelantado!

Respuestas a la pregunta(2)

Su respuesta a la pregunta