Method: Toro::Middleware::Chain#insert_before

Defined in:
lib/toro/middleware/chain.rb

#insert_before(oldklass, newklass, *args) ⇒ Object



29
30
31
32
33
34
# File 'lib/toro/middleware/chain.rb', line 29

def insert_before(oldklass, newklass, *args)
  i = entries.index { |entry| entry.klass == newklass }
  new_entry = i.nil? ? Entry.new(newklass, *args) : entries.delete_at(i)
  i = entries.index { |entry| entry.klass == oldklass } || 0
  entries.insert(i, new_entry)
end