Um método Array útil que essencialmente encontra e remove um item de uma matriz de uma vez
class Array
def extract_if( &block )
if n = index(&block)
slice!(n)
end
end
end
Os casos de uso são numerosos. Aqui está um: você tem uma lista de links aleatórios, mas deseja que a wikipedia sempre apareça primeiro.
@links = [ 'random.com/bla', '...', 'wikipedia.com/bla', '...']
# show.html.erb
<%= @links.extract_if {|link| link.matches/wikipedia.com/ } %> -
<%= @links.join(" - ") %>