X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=lib%2Frm%2Frm_plugin.rb;h=95c595aa2afc94c881007c8984c7fb4b276aa521;hp=e2f2cfe413278bba00a1f0a572451b32fd6936a7;hb=6f2bc0181c6bb900e37d04ea722beec54486b87e;hpb=a6ae98f0423603445b621a8eaa17443c8d590b45 diff --git a/lib/rm/rm_plugin.rb b/lib/rm/rm_plugin.rb index e2f2cfe..95c595a 100644 --- a/lib/rm/rm_plugin.rb +++ b/lib/rm/rm_plugin.rb @@ -1,6 +1,6 @@ module RmPlugin # - # Plugins for the removal of accounts. + # Plugins for the removal of users. # def RmPlugin.included(c) @@ -15,25 +15,30 @@ module RmPlugin return @includers end - def delete_domain(domain) - # Delete the given domain. - raise NotImplementedError + def runner() + return RmRunner end - def delete_account(account) - # Delete the given account. - raise NotImplementedError + def dummy_runner() + return RmDummyRunner end - def get_leftover_domains(db_domains) - # Given a list of domains, determine which domains belonging to - # this plugin are not contained in the given list. - raise NotImplementedError + def delete_domain(domain) + # Delete the given domain. Some plugins don't have a concept of + # domains, so just delete all users with a username that looks + # like it's in the given domain. + usernames = list_domains_users([domain]) + + raise NonexistentDomainError.new(domain) if usernames.empty? + + usernames.each do |u| + delete_user(u) + end end - def get_leftover_accounts(db_accounts) - # Given a list of accounts, determine which accounts belonging to - # this plugin are not contained in the given list. + def delete_user(user) + # Delete the given user. raise NotImplementedError end + end