class Locomotive::Steam::Middlewares::StackProxy

Attributes

list[R]
operations[R]

Public Class Methods

new(&block) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 7
def initialize(&block)
  @list = []
  instance_eval(&block) if block_given?
end

Public Instance Methods

delete(index) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 24
def delete(index)
  @list.delete_at(index_of(index))
end
index_of(index) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 36
def index_of(index)
  if index.is_a?(Integer)
    index
  else
    @list.index { |args| args[0][0] == index }
  end
end
inject(builder) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 30
def inject(builder)
  @list.each do |args|
    builder.use(*(args[0]), &args[1])
  end
end
insert(index, *args, &block)
Alias for: insert_before
insert_after(index, *args, &block) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 20
def insert_after(index, *args, &block)
  @list.insert(index_of(index) + 1, [args, block])
end
insert_before(index, *args, &block) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 16
def insert_before(index, *args, &block)
  @list.insert(index_of(index), [args, block])
end
Also aliased as: insert
use(*args, &block) click to toggle source
# File lib/locomotive/steam/middlewares/stack_proxy.rb, line 12
def use(*args, &block)
  @list << [args, block]
end