# 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