Hi -- On Fri, 18 Sep 2009, Dylan Lukes wrote: > David A. Black wrote: >> Hi -- >> >> On Fri, 18 Sep 2009, Dylan Lukes wrote: >> >>>>> >>> I'm not round tripping. I took most of your advice in your rewrite, such >>> as using name and so on. >>> >>> I still need to pass the configuration as a parameter to their >>> initialization though. The only problem is the inherited initialize from >>> the module Plugin does not seem to be properly getting the config >>> parameter. >> >> In your previous message, you had: >> >> PLUGINS.each {|plugin| plugin = plugin.new(self, CONFIG[plugin])} >> and >> >> CONFIG = { >> "BackupPlugin" => { >> "interval" => (30 * 60), >> "directory" => "backups" >> } >> } >> >> The PLUGINS array contains class objects; the CONFIG hash has keys >> that are strings. If I do this: >> >> hash = { SomeClass => "some stuff" } >> >> and then I do: >> >> hash["SomeClass"] >> >> I'll get nil, because the hash key is a class object, not a string. >> >> >> David > > > Ah ok, wonderful. Thank you very much. As a matter of syntax, I was also > wondering how one would do the following: > > Print "Config Interval: #{config["interval"]} > > Since the key is a string, it raises some minor issues. It should be OK except you're missing the closing ". David -- David A. Black, Director Ruby Power and Light, LLC (http://www.rubypal.com) Ruby/Rails training, consulting, mentoring, code review Book: The Well-Grounded Rubyist (http://www.manning.com/black2)