mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
Fix issue causing middleware chain corruption when inserting before or after
#delete_if returns the chain, not the entry deleted. Changed to use #index followed by #delete_at.
This commit is contained in:
parent
aeb8177c37
commit
54da57aef9
1 changed files with 4 additions and 2 deletions
|
@ -77,13 +77,15 @@ module Sidekiq
|
|||
end
|
||||
|
||||
def insert_before(oldklass, newklass, *args)
|
||||
new_entry = entries.delete_if { |entry| entry.klass == newklass } || Entry.new(newklass, *args)
|
||||
i = entries.index { |entry| entry.klass == newklass }
|
||||
new_entry = i.nil? ? Entry.new(newklass, *args) : entries.delete_at(i)
|
||||
i = entries.find_index { |entry| entry.klass == oldklass } || 0
|
||||
entries.insert(i, new_entry)
|
||||
end
|
||||
|
||||
def insert_after(oldklass, newklass, *args)
|
||||
new_entry = entries.delete_if { |entry| entry.klass == newklass } || Entry.new(newklass, *args)
|
||||
i = entries.index { |entry| entry.klass == newklass }
|
||||
new_entry = i.nil? ? Entry.new(newklass, *args) : entries.delete_at(i)
|
||||
i = entries.find_index { |entry| entry.klass == oldklass } || entries.count - 1
|
||||
entries.insert(i+1, new_entry)
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue