Nice how can i refactor following code using map
tag_clouds = {}
tag_cloud_names.each do |name|
tag_clouds[name] = row.field(row.index(name)).to_s.strip.split(",")
end
You want to map an array into a hash
Hash[[[:a,:b],[:c,:d]]] (as well as Hash[:a,:b,:c,:d])
produces {:a => :b, :c => :d}.
In your case, the following should work.
tag_clouds = tag_cloud_names.map do |name|
# note: I am not sure what row.field(row.index(name)).to_s.strip.split(",") is
name, row.field(row.index(name)).to_s.strip.split(",")
end
Update:
tag_clouds = Hash[tag_cloud_names.map do |name|
# note: I am not sure what row.field(row.index(name)).to_s.strip.split(",") is
name, row.field(row.index(name)).to_s.strip.split(",")
end]