X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=lib%2Fcommon%2Fplugin.rb;fp=lib%2Fcommon%2Fplugin.rb;h=0687989fe03169e3aa2e4d9c256f30bf9cbe8b67;hp=0000000000000000000000000000000000000000;hb=c6cab6b71770d14dad1115db90a00b990c44a58d;hpb=150ee5398c17acca8ef03b3cc48b3aa7bc1b0035 diff --git a/lib/common/plugin.rb b/lib/common/plugin.rb new file mode 100644 index 0000000..0687989 --- /dev/null +++ b/lib/common/plugin.rb @@ -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