Q = 'Outer'
module Foo
Q = 'Inner'
end
module Foo
module Bar
def self.t1
puts Q
end
end
end
module Foo::Bar
def self.t2
puts Q
end
end
Foo::Bar.t1 #=> Inner
Foo::Bar.t2 #=> Outer
Isso se deve ao Module.nesting
Post http://urbanautomaton.com/blog/2013/08/27/rails-autoloading-hell/
Isso pode ser resolvido com o autoload no Rails