Analisar arquivo CSV com campos de cabeçalho como atributos para cada linha

Gostaria de analisar um arquivo CSV para que cada linha seja tratada como um objeto, com a linha de cabeçalho sendo os nomes dos atributos no objeto. Eu poderia escrever isso, mas tenho certeza que já está lá fora.

Aqui está minha entrada CSV:

"foo","bar","baz"
1,2,3
"blah",7,"blam"
4,5,6

O código ficaria assim:

CSV.open('my_file.csv','r') do |csv_obj|
  puts csv_obj.foo   #prints 1 the 1st time, "blah" 2nd time, etc
  puts csv.bar       #prints 2 the first time, 7 the 2nd time, etc
end

Com o módulo CSV do Ruby, acredito que só posso acessar os campos por índice. Eu acho que o código acima seria um pouco mais legível. Alguma ideia?

questionAnswers(5)

yourAnswerToTheQuestion