aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/middleware
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-08-07 15:35:39 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-08-07 15:37:31 -0700
commit2a3c47ff5d4ed7391d8a2d02a6baa1f1f55a8df3 (patch)
tree5fb466434b62c2b3487b1f18e9eb874fc4be451b /actionpack/lib/action_dispatch/middleware
parent83b767cef90abfc4c2ee9f4b451b0215501fae9a (diff)
downloadrails-2a3c47ff5d4ed7391d8a2d02a6baa1f1f55a8df3.tar.gz
rails-2a3c47ff5d4ed7391d8a2d02a6baa1f1f55a8df3.tar.bz2
rails-2a3c47ff5d4ed7391d8a2d02a6baa1f1f55a8df3.zip
finish deprecating handling strings and symbols
since we only work with instances of classes, it greatly simplifies the `Middleware` implementation.
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware')
-rw-r--r--actionpack/lib/action_dispatch/middleware/stack.rb23
1 files changed, 4 insertions, 19 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/stack.rb b/actionpack/lib/action_dispatch/middleware/stack.rb
index 62e87a6f29..0430ce3b9a 100644
--- a/actionpack/lib/action_dispatch/middleware/stack.rb
+++ b/actionpack/lib/action_dispatch/middleware/stack.rb
@@ -14,17 +14,6 @@ module ActionDispatch
def name; klass.name; end
- def ==(middleware)
- case middleware
- when Middleware
- klass == middleware.klass
- when Class
- klass == middleware
- else
- normalize(name) == normalize(middleware)
- end
- end
-
def inspect
klass.to_s
end
@@ -32,12 +21,6 @@ module ActionDispatch
def build(app)
klass.new(app, *args, &block)
end
-
- private
-
- def normalize(object)
- object.to_s.strip.sub(/^::/, '')
- end
end
include Enumerable
@@ -92,7 +75,8 @@ module ActionDispatch
end
def delete(target)
- middlewares.delete target
+ target = get_class target
+ middlewares.delete_if { |m| m.klass == target }
end
def use(klass, *args, &block)
@@ -106,7 +90,8 @@ module ActionDispatch
protected
def assert_index(index, where)
- i = index.is_a?(Integer) ? index : middlewares.index(index)
+ index = get_class index
+ i = index.is_a?(Integer) ? index : middlewares.index { |m| m.klass == index }
raise "No such middleware to insert #{where}: #{index.inspect}" unless i
i
end