Idiom for dynamic loading of an unknown class from a known f


#1

I need to load a class at runtime, whose name I do not know in advance,
but
all I know is a file name.
Say “a.rb” which is

class A

end

So I want to do something like (pseudo code)

  • load a.rb (this will create the class object for A)
  • Somehow access constant “A” and invoke “A.new”

I can think of a few hacks but none of them are elegant.
Is there an idiom for it?

TIA


#2

On Sun, 11 Feb 2007, Nasir K. wrote:

  • load a.rb (this will create the class object for A)
  • Somehow access constant “A” and invoke “A.new”

I can think of a few hacks but none of them are elegant.
Is there an idiom for it?

dynaload does exactly this.

gem install dynaload

-a


#3

Nasir K. wrote:

  • load a.rb (this will create the class object for A)
  • Somehow access constant “A” and invoke “A.new”

I can think of a few hacks but none of them are elegant.
Is there an idiom for it?

http://redshift.sourceforge.net/script

require ‘script’
script = Script.load “a.rb”
script::A.new