If the fields containing the new line are correctly quoted (as in your example data), then the Ruby csv parser can handle them just fine. However, if you want Ruby to remove the escape character (as Python can do by installing it escapechar), I also don't see a method for doing this in Ruby docs. (By the way, with Ruby 1.9, FasterCSV is the default Ruby csv implementation.)
require 'csv'
CSV.foreach('test.csv') do |rec|
puts "Record: #{rec}"
end
:
telemachus ~ $ ruby read.rb
Record: ["foo", "bar"]
Record: ["rah", "baz \\\nand stuff"]
Record: ["green", "red"]