In a program I module_eval class definitions into a dynamically created
namespace. To run support code later on I need to know the module it was
defined in from an instance of the class.
Is there any NICE way to replace this ‘cheat version’? The below also
doesn’t work with nested modules.
module X
class A
def my_module
Object::const_get(self.class.name.split(’::’)[0])
end
end
end
In a program I module_eval class definitions into a dynamically created
namespace. To run support code later on I need to know the module it was
defined in from an instance of the class.
Would Module.nesting work for you?
irb(main):001:0> module X
irb(main):002:1> class A
irb(main):003:2> def nesting
irb(main):004:3> Module.nesting
irb(main):005:3> end
irb(main):006:2> end
irb(main):007:1> end
=> nil
irb(main):008:0> X::A.new.nesting
=> [X::A, X]