- if leftover_domains.size > 0 or leftover_accounts.size > 0
- # The header that we output before the list of domains/accounts.
- # Just the path of this script, the current time, and the plugin name.
- header = "#{$0}, "
-
- current_time = Time.now()
- if current_time.respond_to?(:iso8601)
- # Somehow this method is missing on some machines.
- header += current_time.iso8601.to_s
- else
- # Fall back to whatever this looks like.
- header += current_time.to_s + "\n"
- end
-
- header += 'Plugin: ' + plugin_class.to_s + "\n"
- puts header
- puts '-' * header.size # Underline the header.
-
- leftover_domains.each do |domain|
- puts "Found: #{domain} (#{plugin.describe_domain(domain)})"
- end
-
- leftover_accounts.each do |account|
- puts "Found: #{account} (#{plugin.describe_account(account)})"
- end
-
- if Configuration::I_MEAN_BUSINESS
- leftover_domains.each do |domain|
- # Get the description before we delete the domain.
- domain_description = plugin.describe_domain(domain)
- plugin.delete_domain(domain)
- puts "Removed: #{domain} (#{domain_description})"
- end
-
- leftover_accounts.each do |account|
- # Get the description before we delete the domain.
- # This can still fail if the account's domain is gone.
- account_description = plugin.describe_account(account)
- plugin.delete_account(account)
- puts "Removed: #{account} (#{account_description})"
- end
- end
-
- puts ""
- end
+ # The splat passes the correct (we hope) number of arguments to the
+ # appropriate runner. The Rm(Dummy)Runner have splats on their
+ # *target arguments as well, to turn ARGV back into an array.
+ runner.run(plugin, *ARGV)
+end