]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - lib/common/agendav_plugin.rb
mailshears.gemspec: bump version to 0.1.0
[mailshears.git] / lib / common / agendav_plugin.rb
diff --git a/lib/common/agendav_plugin.rb b/lib/common/agendav_plugin.rb
deleted file mode 100644 (file)
index 4c3a5cf..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-require 'common/plugin'
-require 'common/user'
-
-# Code that all Agendav plugins ({AgendavPrune}, {AgendavRm},
-# {AgendavMv}) share.
-module AgendavPlugin
-
-  # We implement the Plugin "interface."
-  include Plugin
-
-
-  # Initialize this Agendav {Plugin} with values in *cfg*.
-  #
-  # @param cfg [Configuration] the configuration for this plugin.
-  #
-  def initialize(cfg)
-    @db_hash = {
-      :host     => cfg.agendav_dbhost,
-      :port     => cfg.agendav_dbport,
-      :options  => cfg.agendav_dbopts,
-      :tty      => cfg.agendav_dbtty,
-      :dbname   => cfg.agendav_dbname,
-      :user     => cfg.agendav_dbuser,
-      :password => cfg.agendav_dbpass }
-  end
-
-
-  # Return a list of Agendav users.
-  #
-  # @return [Array<User>] a list of users contained in the
-  #   Agendav database.
-  #
-  def list_users()
-    users = []
-
-    connection = PG::Connection.new(@db_hash)
-
-    # There's also an "owner" field in the "shares" table, but it
-    # contains a principal URL and not a bare username. Thus its
-    # format depends on the CalDAV server configuration, and isn't
-    # predictable.
-    sql_query  = 'SELECT username FROM prefs'
-
-    begin
-      connection.query(sql_query) do |result|
-        users = result.field_values('username')
-      end
-    ensure
-      # Make sure the connection gets closed even if the query explodes.
-      connection.close()
-    end
-
-    return users.map{ |u| User.new(u) }
-  end
-
-end