Document everything with YARD and fix some bugs along the way.
[mailshears.git] / lib / mv / mv_plugin.rb
index 089e6c772bc7d9ddec80db26359449aae08b2c73..5a3192356e7b033dbe35cd3c695c45c2fd378e7b 100644 (file)
@@ -1,20 +1,39 @@
+require 'common/plugin.rb'
+
+# Plugins for moving (renaming) users. Moving domains is not supported.
+#
 module MvPlugin
-  #
-  # Plugins for moving (renaming) users.
-  #
 
+  # Absorb the subclass run() magic from the Plugin::Run module.
   extend Plugin::Run
 
+  # The runner class associated with move plugins.
+  #
+  # @return [Class] the {MvRunner} class.
+  #
   def self.runner()
     return MvRunner
   end
 
+
+  # The "dummy" runner class associated with move plugins.
+  #
+  # @return [Class] the {MvDummyRunner} class.
+  #
   def self.dummy_runner()
     return MvDummyRunner
   end
 
+
+  # The interface for the "move a user" operation. Subclasses need to
+  # implement this method so that it moves (renames) the user *src* to
+  # the user *dst*.
+  #
+  # @param src [User] the source user to be moved.
+  #
+  # @param dst [User] the destination user to which we'll move *src*.
+  #
   def mv_user(src, dst)
-    # Rename the given user.
     raise NotImplementedError
   end