Вы должны искать строки индикатора (описание, качество, текст и статистика) в цикле и заполнять хэш при обработке документа построчно.
Другим вариантом будет использование регулярных выражений и одновременный анализ документа, но здесь вам не нужны регулярные выражения, и если вы не знакомы с ними, я бы рекомендовал не использовать регулярные выражения.
UPDATE:
sections = []
File.open("deneme") do |f|
current = {:description => "", :text => "", :quality => "", :stats => ""}
inDescription = false
inQuality = false
f.each_line do |line|
if inDescription
if line.strip == ""
inDescription = false
else
current[:description] += line
end
elsif inQuality
current[:quality] = line.strip
inQuality = false
elsif line.strip == "description"
inDescription = true
elsif line.strip == "quality"
inQuality = true
elsif line.match(/^text: /)
current[:text] = line[6..-1].strip
elsif line.match(/^stats /)
current[:stats] = line[6..-1].strip
sections.push(current)
current = {:description => "", :text => "", :quality => "", :stats => ""}
end
end
end