7stud -- wrote: > 7stud -- wrote: >> Where is the plugin() method? > > ruby is telling you, "Hey guy who names every variable 'plugin'! > There's no plugin method defined anywhere." Correct, there is no plugin method. Here is some slightly modified code and the variables it references: class BackupPlugin @@IDENTIFIER = "BackupPlugin" def BackupPlugin.IDENTIFIER return @@IDENTIFIER end def initialize(serve r, config) end def run end end class MessagePlugin @@IDENTIFIER = "MessagePlugin" def MessagePlugin.IDENTIFIER return @@IDENTIFIER end def initialize(server, config) end def run end end class KickPlugin @@IDENTIFIER = "KickPlugin" def KickPlugin.IDENTIFIER return @@IDENTIFIER end def initialize(sever, config) end def run end end PLUGINS = [ BackupPlugin, MessagePlugin, KickPlugin ] CONFIG = { "BackupPlugin" => { "interval" => (30 * 60), "directory" => "backups" } } class MyServer ---other methods--- def start_plugins plugins_list = [] PLUGINS.each { |plugin| if CONFIG.has_key?(plugin.IDENTIFIER) plugins_list.append(plugin(self, CONFIG[plugin.IDENTIFIER])) else plugins_list.append(plugin(self, nil)) end } end end server = MyServer.popen(COMMAND) #Command is a string shell command to open a JAR server.start_plugins -- Posted via http://www.ruby-forum.com/.