aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2018-01-24 16:57:34 -0500
committerGitHub <noreply@github.com>2018-01-24 16:57:34 -0500
commitf03889136adc01c202b17a14562fbd9a72db9997 (patch)
treee01ad926164408c21786fc25f4373db50d227037
parent1280ad6d19fa56e9bf6d6a261c1231326cb3d8c3 (diff)
parentfbf4e9562db9ba73428b9b397361aa886bc2c8e8 (diff)
downloadrails-f03889136adc01c202b17a14562fbd9a72db9997.tar.gz
rails-f03889136adc01c202b17a14562fbd9a72db9997.tar.bz2
rails-f03889136adc01c202b17a14562fbd9a72db9997.zip
Merge pull request #31642 from fatkodima/metal-action-duplication
Remove code duplication for `ActionController::Metal.action`
-rw-r--r--actionpack/lib/action_controller/metal.rb18
1 files changed, 8 insertions, 10 deletions
diff --git a/actionpack/lib/action_controller/metal.rb b/actionpack/lib/action_controller/metal.rb
index 457884ea08..f875aa5e6b 100644
--- a/actionpack/lib/action_controller/metal.rb
+++ b/actionpack/lib/action_controller/metal.rb
@@ -230,18 +230,16 @@ module ActionController
# Returns a Rack endpoint for the given action name.
def self.action(name)
+ app = lambda { |env|
+ req = ActionDispatch::Request.new(env)
+ res = make_response! req
+ new.dispatch(name, req, res)
+ }
+
if middleware_stack.any?
- middleware_stack.build(name) do |env|
- req = ActionDispatch::Request.new(env)
- res = make_response! req
- new.dispatch(name, req, res)
- end
+ middleware_stack.build(name, app)
else
- lambda { |env|
- req = ActionDispatch::Request.new(env)
- res = make_response! req
- new.dispatch(name, req, res)
- }
+ app
end
end