]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - lib/common/plugin.rb
Factor out common code that can be used to mv (rename) accounts.
[mailshears.git] / lib / common / plugin.rb
diff --git a/lib/common/plugin.rb b/lib/common/plugin.rb
new file mode 100644 (file)
index 0000000..0687989
--- /dev/null
@@ -0,0 +1,31 @@
+# All plugins should include this module. It defines the basic
+# operations that all plugins are supposed to support.
+module Plugin
+
+  def Plugin.included(c)
+    # Callback, called whenever another class or module includes this
+    # one. The parameter given is the name of the class or module
+    # that included us.
+    @includers ||= []
+    @includers << c
+  end
+
+  def Plugin.includers
+    return @includers
+  end
+
+  def describe_domain(domain)
+    # Provide a "description" of the domain. This is output along
+    # with the domain name and can be anything of use to the system
+    # administrator.
+    raise NotImplementedError
+  end
+
+  def describe_account(account)
+    # Provide a "description" of the account. This is output along
+    # with the domain name and can be anything of use to the system
+    # administrator.
+    raise NotImplementedError
+  end
+
+end