Если количество тестов различно, используйте DigitalRoss.Если их всегда три, взгляните на это:
ar = DATA.map{|line|line.strip} # puts all in an array, getting rid of the whitespace
ar.each_slice(4){ |number, *tests| puts "Run #{number} has #{tests.inspect}" }
__END__
6057493131
Test 1
Test 2
Test 3
6057493132
Test 1
Test 2
Test 3
6057493133
Test 1
Test 2
Test 3
6057493134
Test 1
Test 2
Test 3
Материал после __END__ обрабатывается как файл с именем DATA.Выход:
Run 6057493131 has ["Test 1", "Test 2", "Test 3"]
Run 6057493132 has ["Test 1", "Test 2", "Test 3"]
Run 6057493133 has ["Test 1", "Test 2", "Test 3"]
Run 6057493134 has ["Test 1", "Test 2", "Test 3"]