aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/middleware/reloader.rb
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2012-01-13 18:40:34 -0200
committerSantiago Pastorino <santiago@wyeworks.com>2012-01-13 19:46:13 -0200
commit29fdd8c7779ec2ba74cfb742e8fcef47bfae6c09 (patch)
tree6b3e2d17d08928eea7e7cf7c478610ea18f5d262 /actionpack/lib/action_dispatch/middleware/reloader.rb
parent161c857b9b9adce4d6fe0145120805b78d3d4c65 (diff)
downloadrails-29fdd8c7779ec2ba74cfb742e8fcef47bfae6c09.tar.gz
rails-29fdd8c7779ec2ba74cfb742e8fcef47bfae6c09.tar.bz2
rails-29fdd8c7779ec2ba74cfb742e8fcef47bfae6c09.zip
Use a BodyProxy instead of including a Module that responds to close.
Closes #4441 if Active Record is disabled assets are delivered correctly
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware/reloader.rb')
-rw-r--r--actionpack/lib/action_dispatch/middleware/reloader.rb17
1 files changed, 3 insertions, 14 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/reloader.rb b/actionpack/lib/action_dispatch/middleware/reloader.rb
index 4f48f1c974..7a5aff214d 100644
--- a/actionpack/lib/action_dispatch/middleware/reloader.rb
+++ b/actionpack/lib/action_dispatch/middleware/reloader.rb
@@ -1,3 +1,5 @@
+require 'action_dispatch/middleware/body_proxy'
+
module ActionDispatch
# ActionDispatch::Reloader provides prepare and cleanup callbacks,
# intended to assist with code reloading during development.
@@ -61,7 +63,7 @@ module ActionDispatch
@validated = @condition.call
prepare!
response = @app.call(env)
- response[2].extend(module_hook)
+ response[2] = ActionDispatch::BodyProxy.new(response[2]) { cleanup! }
response
rescue Exception
cleanup!
@@ -83,18 +85,5 @@ module ActionDispatch
def validated? #:nodoc:
@validated
end
-
- def module_hook #:nodoc:
- middleware = self
- Module.new do
- define_method :close do
- begin
- super() if defined?(super)
- ensure
- middleware.cleanup!
- end
- end
- end
- end
end
end