Methods
Attributes
| [R] | args | |
| [R] | block |
Public Class methods
[ show source ]
# File 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
[ show source ]
# File 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
Public Instance methods
[ show source ]
# File 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
[ show source ]
# File 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
[ show source ]
# File 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
[ show source ]
# File actionpack/lib/action_controller/middleware_stack.rb, line 62
62: def inspect
63: str = klass.to_s
64: args.each { |arg| str += ", #{arg.inspect}" }
65: str
66: end
[ show source ]
# File actionpack/lib/action_controller/middleware_stack.rb, line 29
29: def klass
30: if @klass.respond_to?(:call)
31: @klass.call
32: elsif @klass.is_a?(Class)
33: @klass
34: else
35: @klass.to_s.constantize
36: end
37: rescue NameError
38: @klass
39: end