X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=lib%2Fcommon%2Fagendav_plugin.rb;h=3b3389dcd074ea4c8b3e666ebf0874b5ec7dfc99;hp=49e7087d996ce2de850a01ec3c6d0a785b0ecd06;hb=HEAD;hpb=b947ef8844f090eedd50be0383abe417d910bb1a diff --git a/lib/common/agendav_plugin.rb b/lib/common/agendav_plugin.rb deleted file mode 100644 index 49e7087..0000000 --- a/lib/common/agendav_plugin.rb +++ /dev/null @@ -1,54 +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] a list of users contained in the - # Agendav database. - # - def list_users() - users = [] - - connection = PG::Connection.new(@db_hash) - - sql_query = '(SELECT username FROM prefs)' - sql_query += 'UNION' - sql_query += '(SELECT user_from FROM shared);' - - 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