diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-05-26 17:30:17 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-05-26 17:30:17 -0700 |
commit | 40514aa23a6e74b576f6d2e4983bb71e0cc893b0 (patch) | |
tree | 2c71010260b2ffc9e6748f003f4fd87c824eec7b /actionpack | |
parent | 02a9401d788425b02b7abc65793dff211dcff9c4 (diff) | |
download | rails-40514aa23a6e74b576f6d2e4983bb71e0cc893b0.tar.gz rails-40514aa23a6e74b576f6d2e4983bb71e0cc893b0.tar.bz2 rails-40514aa23a6e74b576f6d2e4983bb71e0cc893b0.zip |
skip the build business if the stack is empty
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/metal.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/metal.rb b/actionpack/lib/action_controller/metal.rb index a3ad5888de..37e48ee011 100644 --- a/actionpack/lib/action_controller/metal.rb +++ b/actionpack/lib/action_controller/metal.rb @@ -227,8 +227,12 @@ module ActionController # Returns a Rack endpoint for the given action name. def self.action(name, klass = ActionDispatch::Request) - middleware_stack.build(name.to_s) do |env| - new.dispatch(name, klass.new(env)) + if middleware_stack.any? + middleware_stack.build(name.to_s) do |env| + new.dispatch(name, klass.new(env)) + end + else + lambda { |env| new.dispatch(name, klass.new(env)) } end end |