Hi all,

I have a situation where I need to dynamically execute an object from a 
String name. I read in pickaxe that as long as a capitalize the class 
name in the string, Ruby will see it as a Constant and thusly allow me 
to use it.

For example:

module Test

  class MyClass
     def do_something
       puts "Something done."
     end
  end

end

(caller code)

cls = "Test::MyClass"
require cls
obj = cls.new
obj.do_something

------

When I execute the above caller code, I get an error saying

undefined method `new' for "Test::MyClass":String (NoMethodError)

So, obviously, Ruby is telling me that there is no new method for the 
String "Test::MyClass". I'm trying to instantiate the class this way as 
I have specific methods that return object besides String, so I'm 
guessing eval(cls) isn't appropriate for me. Also, I checked the 
archives on the list with no luck.

Any suggestions?

Thx,

- jason

-- 
Posted via http://www.ruby-forum.com/.