X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=lib%2Fprune%2Fprune_runner.rb;h=fbad8e8f11c4e5cb71f7dcc2ccbdc0caf7ad40b5;hp=74455d6b2ba8903655ce385b8e4c16d81ad4ccf6;hb=a731b98f97194b8882c42d3c2b27de75f60d6b05;hpb=4e7ef12d3d47aa7ec68419de46c51269c40eb158 diff --git a/lib/prune/prune_runner.rb b/lib/prune/prune_runner.rb index 74455d6..fbad8e8 100644 --- a/lib/prune/prune_runner.rb +++ b/lib/prune/prune_runner.rb @@ -1,35 +1,24 @@ require 'common/runner' - -# This is always needed, regardless of which plugin is running. require 'prune/plugins/postfixadmin' +require 'rm/rm_runner' class PruneRunner include Runner - def run(plugin) + def run(cfg, plugin) # We don't want to check the PostfixAdmin database against itself. return if plugin.class == PostfixadminPrune - pfa = PostfixadminPrune.new() + pfa = PostfixadminPrune.new(cfg) db_users = pfa.list_users() db_domains = pfa.list_domains() - leftover_users = plugin.get_leftover_accounts(db_users) - leftover_domains = plugin.get_leftover_domains(db_domains) - - leftover_users.each do |user| - user_description = plugin.describe_account(user) - plugin.delete_account(user) - report(plugin, "Removed user: #{user} (#{user_description})") - end - - leftover_domains.each do |domain| - domain_description = plugin.describe_domain(domain) - plugin.delete_domain(domain) - report(plugin, "Removed domain: #{domain} (#{domain_description})") - end + leftovers = plugin.get_leftover_users(db_users) + leftovers += plugin.get_leftover_domains(db_domains) + rm_runner = RmRunner.new() + rm_runner.run(cfg, plugin, *leftovers) end end