| Class | ActionController::MiddlewareStack::Middleware |
| In: |
vendor/rails/actionpack/lib/action_controller/middleware_stack.rb
|
| Parent: | Object |
| args | [R] | |
| block | [R] |
# File vendor/rails/actionpack/lib/action_controller/middleware_stack.rb, line 14
14: def initialize(klass, *args, &block)
15: @klass = klass
16:
17: options = args.extract_options!
18: if options.has_key?(:if)
19: @conditional = options.delete(:if)
20: else
21: @conditional = true
22: end
23: args << options unless options.empty?
24:
25: @args = args
26: @block = block
27: end
# File vendor/rails/actionpack/lib/action_controller/middleware_stack.rb, line 4
4: def self.new(klass, *args, &block)
5: if klass.is_a?(self)
6: klass
7: else
8: super
9: end
10: end
# File vendor/rails/actionpack/lib/action_controller/middleware_stack.rb, line 51
51: def ==(middleware)
52: case middleware
53: when Middleware
54: klass == middleware.klass
55: when Class
56: klass == middleware
57: else
58: klass == middleware.to_s.constantize
59: end
60: end
# File vendor/rails/actionpack/lib/action_controller/middleware_stack.rb, line 41
41: def active?
42: return false unless klass
43:
44: if @conditional.respond_to?(:call)
45: @conditional.call
46: else
47: @conditional
48: end
49: end
# File vendor/rails/actionpack/lib/action_controller/middleware_stack.rb, line 68
68: def build(app)
69: if block
70: klass.new(app, *build_args, &block)
71: else
72: klass.new(app, *build_args)
73: end
74: end