Class: Reins::MiddlewareStack

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/reins/middleware_stack.rb

Instance Method Summary collapse

Constructor Details

#initializeMiddlewareStack

Returns a new instance of MiddlewareStack.



5
6
7
# File 'lib/reins/middleware_stack.rb', line 5

def initialize
  @entries = []
end

Instance Method Details

#delete(klass) ⇒ Object



26
27
28
29
# File 'lib/reins/middleware_stack.rb', line 26

def delete(klass)
  @entries.reject! { |entry| entry[0] == klass }
  self
end

#eachObject



31
# File 'lib/reins/middleware_stack.rb', line 31

def each(&) = @entries.each(&)

#include?(klass) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/reins/middleware_stack.rb', line 35

def include?(klass)
  @entries.any? { |entry| entry[0] == klass }
end

#insert_after(target, klass, *args, &block) ⇒ Object



20
21
22
23
24
# File 'lib/reins/middleware_stack.rb', line 20

def insert_after(target, klass, *args, &block)
  idx = index_of(target)
  @entries.insert(idx + 1, [klass, args, block])
  self
end

#insert_before(target, klass, *args, &block) ⇒ Object



14
15
16
17
18
# File 'lib/reins/middleware_stack.rb', line 14

def insert_before(target, klass, *args, &block)
  idx = index_of(target)
  @entries.insert(idx, [klass, args, block])
  self
end

#to_aObject



33
# File 'lib/reins/middleware_stack.rb', line 33

def to_a = @entries.dup

#use(klass, *args, &block) ⇒ Object



9
10
11
12
# File 'lib/reins/middleware_stack.rb', line 9

def use(klass, *args, &block)
  @entries << [klass, args, block]
  self
end