Methods
- #
-
- A
-
- B
-
- D
-
- E
-
- I
-
- L
-
- N
-
- S
-
- U
-
Included Modules
Classes and Modules
Attributes
Class Public methods
Source: show
| on GitHub
57: def initialize(*args)
58: @middlewares = []
59: yield(self) if block_given?
60: end
Instance Public methods
Source: show
| on GitHub
74: def [](i)
75: middlewares[i]
76: end
Source: show
| on GitHub
110: def build(app = nil, &block)
111: app ||= block
112: raise "MiddlewareStack#build requires an app" unless app
113: middlewares.reverse.inject(app) { |a, e| e.build(a) }
114: end
Source: show
| on GitHub
101: def delete(target)
102: middlewares.delete target
103: end
Source: show
| on GitHub
62: def each
63: @middlewares.each { |x| yield x }
64: end
Source: show
| on GitHub
78: def initialize_copy(other)
79: self.middlewares = other.middlewares.dup
80: end
insert(index, *args, &block)
Source: show
| on GitHub
82: def insert(index, *args, &block)
83: index = assert_index(index, :before)
84: middleware = self.class::Middleware.new(*args, &block)
85: middlewares.insert(index, middleware)
86: end
insert_after(index, *args, &block)
Source: show
| on GitHub
90: def insert_after(index, *args, &block)
91: index = assert_index(index, :after)
92: insert(index + 1, *args, &block)
93: end
insert_before(index, *args, &block)
Source: show
| on GitHub
70: def last
71: middlewares.last
72: end
Source: show
| on GitHub
66: def size
67: middlewares.size
68: end
swap(target, *args, &block)
Source: show
| on GitHub
95: def swap(target, *args, &block)
96: index = assert_index(target, :before)
97: insert(index, *args, &block)
98: middlewares.delete_at(index + 1)
99: end
Source: show
| on GitHub
105: def use(*args, &block)
106: middleware = self.class::Middleware.new(*args, &block)
107: middlewares.push(middleware)
108: end
Instance Protected methods
assert_index(index, where)
Source: show
| on GitHub
118: def assert_index(index, where)
119: i = index.is_a?(Integer) ? index : middlewares.index(index)
120: raise "No such middleware to insert #{where}: #{index.inspect}" unless i
121: i
122: end