class Middlewear::Registry

Registry holds records of each middleware class that is added to the consumer middleware chain.

Attributes

registry[R]

Public Class Methods

new(registry = []) click to toggle source
# File lib/middlewear/registry.rb, line 17
def initialize(registry = [])
  @registry = registry
end

Public Instance Methods

<<(klass_args) click to toggle source
# File lib/middlewear/registry.rb, line 33
def <<(klass_args)
  insert(-1, klass_args[0], klass_args[1])
end
all() click to toggle source
# File lib/middlewear/registry.rb, line 21
def all
  registry
end
delete(klass) click to toggle source
# File lib/middlewear/registry.rb, line 29
def delete(klass)
  registry.reject! { |register| register.klass == klass }
end
each(&blk) click to toggle source
# File lib/middlewear/registry.rb, line 25
def each(&blk)
  all.each(&blk)
end
index_of(klass) click to toggle source
# File lib/middlewear/registry.rb, line 37
def index_of(klass)
  registry.find_index { |register| register.klass == klass }
end
insert(index, klass, args) click to toggle source
# File lib/middlewear/registry.rb, line 41
def insert(index, klass, args)
  raise DuplicateMiddleware if index_of(klass)
  registry.insert(index, Register.new(klass, args))
end