]> git.openstreetmap.org Git - rails.git/blobdiff - lib/osm_community_index.rb
Use each_with_object
[rails.git] / lib / osm_community_index.rb
index 2ac3186871f60b6208c83932cf1b533794806df0..81f87192810c2efbe1ea0d9c060c4dd56d3587b0 100644 (file)
@@ -7,9 +7,8 @@ module OsmCommunityIndex
       community_locale_yaml = YAML.safe_load(File.read(file))[locale]
       # rails wants en-GB but osm-community-index has en_GB
       locale_rails = locale.tr("_", "-")
-      data = {}
 
-      communities.each do |community|
+      data = communities.each_with_object({}) do |community, obj|
         id = community.id
 
         strings = community_locale_yaml[id] || {}
@@ -17,7 +16,7 @@ module OsmCommunityIndex
         # as per discussion here: https://github.com/osmlab/osm-community-index/issues/483
         strings["name"] = strings["name"] || community.strings["name"] || community.strings["community"]
 
-        data.deep_merge!({ "osm_community_index" => { "communities" => { id => strings } } })
+        obj.deep_merge!("osm_community_index" => { "communities" => { id => strings } })
       end
 
       I18n.backend.store_translations locale_rails, data