]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mysql/libraries/mysql.rb
Revert "Take thorn-03 out of production"
[chef.git] / cookbooks / mysql / libraries / mysql.rb
index bc5dd33509491e32933baa5d8846abb257fdafd4..91eb6f9d1c5527f2c4a36e17505e2ff8ab15a72e 100644 (file)
@@ -87,34 +87,31 @@ class Chef
     end
 
     def users
-      @users ||= query("SELECT * FROM user").inject({}) do |users, user|
+      @users ||= query("SELECT * FROM user").each_with_object({}) do |user, users|
         name = "'#{user[:user]}'@'#{user[:host]}'"
 
-        users[name] = USER_PRIVILEGES.inject({}) do |privileges, privilege|
+        users[name] = USER_PRIVILEGES.each_with_object({}) do |privilege, privileges|
           privileges[privilege] = user["#{privilege}_priv".to_sym] == "Y"
-          privileges
         end
-
-        users
       end
     end
 
     def databases
-      @databases ||= query("SHOW databases").inject({}) do |databases, database|
+      @databases ||= query("SHOW databases").each_with_object({}) do |database, databases|
         databases[database[:database]] = {
           :permissions => {}
         }
-        databases
       end
 
       query("SELECT * FROM db").each do |record|
-        if database = @databases[record[:db]]
-          user = "'#{record[:user]}'@'#{record[:host]}'"
+        database = @databases[record[:db]]
+
+        next unless database
+
+        user = "'#{record[:user]}'@'#{record[:host]}'"
 
-          database[:permissions][user] = DATABASE_PRIVILEGES.inject([]) do |privileges, privilege|
-            privileges << privilege if record["#{privilege}_priv".to_sym] == "Y"
-            privileges
-          end
+        database[:permissions][user] = DATABASE_PRIVILEGES.each_with_object([]) do |privilege, privileges|
+          privileges << privilege if record["#{privilege}_priv".to_sym] == "Y"
         end
       end