]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - lib/rm/plugins/davical.rb
Wrap all close() calls in "ensure" blocks and simplify DB connection-making.
[mailshears.git] / lib / rm / plugins / davical.rb
index 852d9c4c66b1fa97467de79c2628a34fd6320338..1029994b9edc77a6db010eeb73fd8ad776a1b3ed 100644 (file)
@@ -23,16 +23,15 @@ class DavicalRm
   def remove_user(user)
     raise NonexistentUserError.new(user.to_s()) if not user_exists(user)
 
-    sql_queries = ['DELETE FROM usr WHERE username = $1']
+    sql_query = 'DELETE FROM usr WHERE username = $1;'
 
-    connection = PGconn.connect(@db_host, @db_port, @db_opts, @db_tty,
-                                @db_name, @db_user, @db_pass)
-
-    sql_queries.each do |sql_query|
+    connection = PG::Connection.new(@db_hash)
+    begin
       connection.query(sql_query, [user.to_s()])
+    ensure
+      # Make sure the connection gets closed even if the query explodes.
+      connection.close()
     end
-
-    connection.close()
   end