Namespaces in Ruby don’t work the way you seem to think.
- There is no such thing as a “namespace method”. - A::B#foois an instance method on the module- A::B—which is a module named- Bin the namespace of- A.
 
- Namespaces modules/classes have no special relationship of inheritance between them. They are purely organizational in nature, except when defined the long way (e.g. - module A; module B; end; end) when they can affect lexical scope.
 
If you want to get methods of A::B in A::B::C, you must include A::B in A::B::C, just like you would anywhere else. You have to do this because, as said above, there's nothing special about a namespaced module/class, it is treated the same as any other.