module RmPlugin
#
- # Plugins for the removal of accounts.
+ # Plugins for the removal of users.
#
def RmPlugin.included(c)
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 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_domain_usernames(domain)
- # Get a list of usernames for a given domain,
- # needed to delete accounts before removing
- # a domain.
+ def delete_user(user)
+ # Delete the given user.
raise NotImplementedError
end