Thanks, that's what I was looking for. 

That example of mine now works:

name = 'Test'
Object::const_set(name.intern, Class::new do
 def write
   puts "TEST"
 end
end
)
Object::const_get(name).new.write   # writes => "TEST"

martin
                     

On Wednesday 02 April 2008 12:19:33 Robert Dober wrote:
> On Wed, Apr 2, 2008 at 11:18 AM, Martin Boese <boesemar / gmx.de> wrote:
> > Is it possible to create classes with a dynamic name? Example:
> >
> >  name = "Test"
> >
> >  class name              # this fails
> >   def write
> >     puts "TEST"
> >   end
> >  end
> >
> >  puts Object::const_get(name).new.write          # => "TEST"
>
> sure
>
> c = Class::new {
>   def a; 41 end
> }
> d = Class::new(c) {
>   def a; super.succ end
> }
> d.new.a --> 42
>
> HTH
> Robert