From: "Bram S." Date: 2013-06-04T00:38:37+09:00 Subject: Cannot access constants from included modules in a submodule 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/.