For reference, here is some sample code that exemplifies what I am
trying to do:http://gist.github.com/102816
I am trying to dynamically defined a class, whose name is either passed
in as a parameter or based on the including class name.
So if I had something like this:
class Green; acts_as_duck; end
I would expect the generated class to be called "GreenDuck", and to be
defined within the "Green" class.
The problem is that no matter what I do, the dynamically referenced
class name is always just "Class".
Because what you have is a class method, self is the class that
acts_as_duck is being called on, ie self == Green, and so self.name
will be 'Green'. self.class is asking ruby what the class of Green is,
and since classes are of class Class you end up with the result you