Hi there,
I am trying to include a bunch of constants into a module and all its
"submodules" (by this I mean modules that are defined within the scope
of the first module; is there a word for that?), but the constants only
seem accessible in the module that directly includes them, not in a
submodule. See this example:
···
===
module FooModule
Foo = :foo
end
module BarModule
include FooModule
Bar = :bar
p ancestors # => [BarModule, FooModule]
p Bar # works
p Foo # works
module SubBarModule
p ancestors # => [BarModule::SubBarModule]
p Bar # works
p Foo # fails
end
end
Now if the SubBarModule's ancestors do not include FooModule, I can
understand that it cannot access Foo, but on the other hand,
SubBarModule's ancestors do not include BarModule either, so why can it
acces Bar?
Tested in Ruby 1.8.7, 1.9.3p0 and 2.0.0p195, just to be sure that the
semantics have not changed -- it seems to be they haven't.
Regards,
Bram Senders
bupknar@gmail.com
--
Posted via http://www.ruby-forum.com/.