positions = Hash[ import_profile.headings.map do |h|
[ "#{h.table_name}.#{h.column_name}", h.position ]
end ]
или
positions = Hash[ *import_profile.headings.map do |h|
[ "#{h.table_name}.#{h.column_name}", h.position ]
end.flatten ]
Первый работает только в Ruby 1.8.7+, где Hash.[]
разрешено получать массив массивов из двух значений. Последний работает в более ранних версиях, где Hash.[]
было разрешено получать только четное количество параметров.