diff options
| author | Pratik Naik <pratiknaik@gmail.com> | 2010-01-28 19:46:17 +0000 |
|---|---|---|
| committer | Pratik Naik <pratiknaik@gmail.com> | 2010-01-28 19:46:17 +0000 |
| commit | 285361d1589002fcdd1584c07e6eb295f13c9f37 (patch) | |
| tree | 2d50a69b3b59b6fb3cb7577b990fe3b1aaf58f4f /actionpack/lib/action_dispatch/middleware | |
| parent | dfa19408651ecc82e2aeba95d93db871ba8a6e41 (diff) | |
| parent | d58398c2b5e98aad18dc72790230f338c10d145c (diff) | |
| download | rails-285361d1589002fcdd1584c07e6eb295f13c9f37.tar.gz rails-285361d1589002fcdd1584c07e6eb295f13c9f37.tar.bz2 rails-285361d1589002fcdd1584c07e6eb295f13c9f37.zip | |
Merge remote branch 'mainstream/master'
Conflicts:
railties/lib/rails/railtie.rb
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware')
| -rw-r--r-- | actionpack/lib/action_dispatch/middleware/callbacks.rb | 2 | ||||
| -rw-r--r-- | actionpack/lib/action_dispatch/middleware/stack.rb | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/callbacks.rb b/actionpack/lib/action_dispatch/middleware/callbacks.rb index d07841218a..7cf75ffe63 100644 --- a/actionpack/lib/action_dispatch/middleware/callbacks.rb +++ b/actionpack/lib/action_dispatch/middleware/callbacks.rb @@ -37,7 +37,7 @@ module ActionDispatch def initialize(app, prepare_each_request = false) @app, @prepare_each_request = app, prepare_each_request - run_callbacks(:prepare) + run_callbacks(:prepare) unless @prepare_each_request end def call(env) diff --git a/actionpack/lib/action_dispatch/middleware/stack.rb b/actionpack/lib/action_dispatch/middleware/stack.rb index 0dc1d70e37..18a2922fa7 100644 --- a/actionpack/lib/action_dispatch/middleware/stack.rb +++ b/actionpack/lib/action_dispatch/middleware/stack.rb @@ -55,7 +55,11 @@ module ActionDispatch when Class klass == middleware else - klass == ActiveSupport::Inflector.constantize(middleware.to_s) + if lazy_compare?(@klass) && lazy_compare?(middleware) + normalize(@klass) == normalize(middleware) + else + klass == ActiveSupport::Inflector.constantize(middleware.to_s) + end end end @@ -72,6 +76,14 @@ module ActionDispatch end private + def lazy_compare?(object) + object.is_a?(String) || object.is_a?(Symbol) + end + + def normalize(object) + object.to_s.strip.sub(/^::/, '') + end + def build_args Array(args).map { |arg| arg.respond_to?(:call) ? arg.call : arg } end |
