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/.