Google

def del ob if ob.kind_of? Proc found = @procs.find {|item| item[-1] == ob } @procs.delete found else found = @listeners.find {|item| item[-1] == ob } @listeners.delete found @has_listeners = false if @listeners.size == 0 end end