diff options
author | José Valim <jose.valim@gmail.com> | 2010-05-30 15:53:14 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-05-30 15:53:14 +0200 |
commit | 9a93844aba44319d3c8487a554124beb00ccc267 (patch) | |
tree | 54348cbf7a6d5d96f8236dc1a9b69420134997db /actionpack/lib/action_dispatch | |
parent | 0078df6b54e595421bb486613f7bc3693250b592 (diff) | |
download | rails-9a93844aba44319d3c8487a554124beb00ccc267.tar.gz rails-9a93844aba44319d3c8487a554124beb00ccc267.tar.bz2 rails-9a93844aba44319d3c8487a554124beb00ccc267.zip |
Add :only and :except to controllers MiddlewareStack. This allows
you to do the following:
class PostsController < ApplicationController
use AutheMiddleware, :except => [:index, :show]
end
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/stack.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/stack.rb b/actionpack/lib/action_dispatch/middleware/stack.rb index 0e5ab507df..e3180dba77 100644 --- a/actionpack/lib/action_dispatch/middleware/stack.rb +++ b/actionpack/lib/action_dispatch/middleware/stack.rb @@ -55,7 +55,7 @@ module ActionDispatch def insert(index, *args, &block) index = self.index(index) unless index.is_a?(Integer) - middleware = Middleware.new(*args, &block) + middleware = self.class::Middleware.new(*args, &block) super(index, middleware) end @@ -73,7 +73,7 @@ module ActionDispatch end def use(*args, &block) - middleware = Middleware.new(*args, &block) + middleware = self.class::Middleware.new(*args, &block) push(middleware) end @@ -82,8 +82,8 @@ module ActionDispatch "was removed from the middleware stack", caller end - def build(app = nil, &blk) - app ||= blk + def build(app = nil, &block) + app ||= block raise "MiddlewareStack#build requires an app" unless app reverse.inject(app) { |a, e| e.build(a) } end |