diff options
author | Akira Matsuda <ronnie@dio.jp> | 2018-10-30 10:19:53 +0900 |
---|---|---|
committer | Akira Matsuda <ronnie@dio.jp> | 2018-10-30 10:23:26 +0900 |
commit | ad3669ee110ef3a667be966e40777ab7911b1cc3 (patch) | |
tree | f077067370fdf7c25db3aa13fd03f580fa26a8ee | |
parent | ae30b9b885a538139d81510b90b95d062ee35191 (diff) | |
download | rails-ad3669ee110ef3a667be966e40777ab7911b1cc3.tar.gz rails-ad3669ee110ef3a667be966e40777ab7911b1cc3.tar.bz2 rails-ad3669ee110ef3a667be966e40777ab7911b1cc3.zip |
We don't want these internal methods as public methods in our controllers
or they would be listed in `action_methods`
-rw-r--r-- | actionpack/lib/action_controller/metal/live.rb | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/actionpack/lib/action_controller/metal/live.rb b/actionpack/lib/action_controller/metal/live.rb index 1482b2999a..083b762f5a 100644 --- a/actionpack/lib/action_controller/metal/live.rb +++ b/actionpack/lib/action_controller/metal/live.rb @@ -280,33 +280,35 @@ module ActionController raise error if error end - # Spawn a new thread to serve up the controller in. This is to get - # around the fact that Rack isn't based around IOs and we need to use - # a thread to stream data from the response bodies. Nobody should call - # this method except in Rails internals. Seriously! - def new_controller_thread # :nodoc: - Thread.new { - t2 = Thread.current - t2.abort_on_exception = true - yield - } + def response_body=(body) + super + response.close if response end - def log_error(exception) - logger = ActionController::Base.logger - return unless logger + private - logger.fatal do - message = +"\n#{exception.class} (#{exception.message}):\n" - message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code) - message << " " << exception.backtrace.join("\n ") - "#{message}\n\n" + # Spawn a new thread to serve up the controller in. This is to get + # around the fact that Rack isn't based around IOs and we need to use + # a thread to stream data from the response bodies. Nobody should call + # this method except in Rails internals. Seriously! + def new_controller_thread # :nodoc: + Thread.new { + t2 = Thread.current + t2.abort_on_exception = true + yield + } end - end - def response_body=(body) - super - response.close if response - end + def log_error(exception) + logger = ActionController::Base.logger + return unless logger + + logger.fatal do + message = +"\n#{exception.class} (#{exception.message}):\n" + message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code) + message << " " << exception.backtrace.join("\n ") + "#{message}\n\n" + end + end end end |