mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
29 lines
537 B
Ruby
29 lines
537 B
Ruby
module ActionDispatch
|
|
class StringCoercion
|
|
class UglyBody < ActiveSupport::BasicObject
|
|
def initialize(body)
|
|
@body = body
|
|
end
|
|
|
|
def each
|
|
@body.each do |part|
|
|
yield part.to_s
|
|
end
|
|
end
|
|
|
|
private
|
|
def method_missing(*args, &block)
|
|
@body.__send__(*args, &block)
|
|
end
|
|
end
|
|
|
|
def initialize(app)
|
|
@app = app
|
|
end
|
|
|
|
def call(env)
|
|
status, headers, body = @app.call(env)
|
|
[status, headers, UglyBody.new(body)]
|
|
end
|
|
end
|
|
end
|