]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/postgresql/providers/table.rb
Switch dev to use ruby 2.1 for passenger
[chef.git] / cookbooks / postgresql / providers / table.rb
index 4a2b43f5dd3dd885b161fcf16acde33792d23685..f162347ddab5fcec9e88bbde57372dc75145c120 100644 (file)
@@ -26,7 +26,7 @@ def load_current_resource
   @current_resource.cluster(new_resource.cluster)
   @current_resource.database(new_resource.database)
   @current_resource.schema(new_resource.schema)
-  if pg_table = @tables[@name]
+  if (pg_table = @tables[@name])
     @current_resource.owner(pg_table[:owner])
     @current_resource.permissions(pg_table[:permissions])
   end
@@ -42,19 +42,19 @@ action :create do
       end
     end
 
-    @current_resource.permissions.each do |user,privileges|
-      unless new_resource.permissions[user]
-        converge_by("revoke all for #{user} on #{new_resource}") do
-          Chef::Log.info("Revoking all for #{user} on #{new_resource}")
-          @pg.execute(:command => "REVOKE ALL ON #{@name} FROM \"#{user}\"", :database => new_resource.database)
-        end
+    @current_resource.permissions.each_key do |user|
+      next if new_resource.permissions[user]
+
+      converge_by("revoke all for #{user} on #{new_resource}") do
+        Chef::Log.info("Revoking all for #{user} on #{new_resource}")
+        @pg.execute(:command => "REVOKE ALL ON #{@name} FROM \"#{user}\"", :database => new_resource.database)
       end
     end
 
-    new_resource.permissions.each do |user,new_privileges|
+    new_resource.permissions.each do |user, new_privileges|
       current_privileges = @current_resource.permissions[user] || {}
       new_privileges = Array(new_privileges)
-      
+
       if new_privileges.include?(:all)
         new_privileges |= Chef::PostgreSQL::TABLE_PRIVILEGES
       end