can you put the actual code in a gist or something to make it easier to
read.

Thanks,
Brad


On Mon, Jun 3, 2013 at 11:38 AM, Bram S. <lists / ruby-forum.com> wrote:

> 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/.
>
>