The following code will dynamically create a class, C, inside of module
A. Class C would like to include module B which is also defined in
module A but the 'include B' line for C fails with `module_eval':
uninitialized constant Class::B (NameError).
I've included a class D definition as well which obviously works.
module A
end
def create_class(c, &b)
klass = A.const_set(c.capitalize, Class.new)
klass.instance_exec(&b)
end
A.module_eval <<-EOF
module B
def self.append_features(m)
puts "B"
end
end
class D
include B
end
create_class :c do
include B
end
EOF
Any insight would be greatly appreciated.
Thanks,
Charlton
···
--
Posted via http://www.ruby-forum.com/.