X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;ds=sidebyside;f=lib%2Frm%2Frm_dummy_runner.rb;h=2b1f14d66af40e91514aad00fb21a0f6d87596d2;hb=fb7eba6d1a8e28ccf783ff971701fc034ef44e48;hp=9bdd13f5f47fb2dc1b71e7c012545c47c08e7e4a;hpb=51f027b01e242737956c3ab5aecdd322d6ceeeed;p=mailshears.git
diff --git a/lib/rm/rm_dummy_runner.rb b/lib/rm/rm_dummy_runner.rb
index 9bdd13f..2b1f14d 100644
--- a/lib/rm/rm_dummy_runner.rb
+++ b/lib/rm/rm_dummy_runner.rb
@@ -1,20 +1,37 @@
require 'common/runner'
+# Dummy implementation of a {RmRunner}. Its run() method will
+# tell you what would have been removed, but will not actually perform
+# the operation.
+#
class RmDummyRunner
include Runner
- def run(plugin, *targets)
+
+ # Pretend to remove *targets*. Some "what if"
+ # information will be output to stdout.
+ #
+ # This dummy runner is not particularly useful on its own. About the
+ # only thing it does is let you know that the users/domains in
+ # *targets* do in fact exist (through their descriptions). It's used
+ # to good effect by {PruneDummyRunner}, though.
+ #
+ # @param cfg [Configuration] the configuration options to pass to
+ # the *plugin* we're runnning.
+ #
+ # @param plugin [RmPlugin] plugin that will perform the move.
+ #
+ # @param targets [Array] the users and domains to be
+ # removed.
+ #
+ def run(cfg, plugin, *targets)
targets.each do |target|
- if target.include?('@') then
- puts "Would remove account: #{target}"
- # TODO: remove from postfixadmin as well.
- else
- usernames = plugin.get_domain_usernames(target)
- usernames.each { |u| run(plugin, u) }
+ target_description = plugin.describe(target)
+ msg = "Would remove #{target.class.to_s().downcase()} "
+ msg += add_description(target, target_description)
+ msg += '.'
- puts "Would remove domain: #{target}"
- # TODO: remove from postfixadmin as well.
- end
+ report(plugin, msg)
end
end