]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - lib/rm/rm_dummy_runner.rb
Update the version in mailshears.gemspec.
[mailshears.git] / lib / rm / rm_dummy_runner.rb
index c79e0467984198e903eef70ae296fae91dc17c60..2b1f14d66af40e91514aad00fb21a0f6d87596d2 100644 (file)
@@ -1,16 +1,39 @@
+require 'common/runner'
+
+# Dummy implementation of a {RmRunner}. Its <tt>run()</tt> 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<User,Domain>] 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}"
-      else
-        puts "Would remove domain: #{target}"
-      end
+      target_description = plugin.describe(target)
+      msg =  "Would remove #{target.class.to_s().downcase()} "
+      msg += add_description(target, target_description)
+      msg += '.'
+
+      report(plugin, msg)
     end
 
-    # TODO: remove from postfixadmin as well.
   end
 
 end