Como remover uma linha de um CSV com Ruby

Dado o seguinte arquivo CSV, como você removeria todas as linhas que contêm a palavra 'true' na coluna 'foo'?

Date,foo,bar
2014/10/31,true,derp
2014/10/31,false,derp

Eu tenho uma solução funcional, no entanto, é necessário criar um objeto CSV secundáriocsv_no_foo

@csv = CSV.read(@csvfile, headers: true) #http://bit.ly/1mSlqfA
@headers = CSV.open(@csvfile,'r', :headers => true).read.headers

# Make a new CSV
@csv_no_foo = CSV.new(@headers)

@csv.each do |row|
  # puts row[5]
  if row[@headersHash['foo']] == 'false'
    @csv_no_foo.add_row(row)
  else
    puts "not pushing row #{row}"
  end
end

Idealmente, eu apenas removeria a linha incorreta do CSV da seguinte maneira:

...
 if row[@headersHash['foo']] == 'false'
    @csv.delete(true) #Doesn't work
...

Olhando para a documentação do ruby, parece que orow classe tem umdelete_if função. Estou confuso com a sintaxe que essa função requer. Existe uma maneira de remover a linha sem criar um novo objeto csv?

http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Row.html#method-i-each

questionAnswers(2)

yourAnswerToTheQuestion