Tworzenie przestrzeni nazw

Czy mogę utworzyć moduł i klasę o takiej samej nazwie?
Chciałbym uzyskać przestrzeń nazw w takim stylu:

module Foo
  class Bar
  end
  module Bar
     class A < Bar
     end
     class B < Bar
     end
  end
end

Czy jest to poprawne?

Nie jest, ale klasa w Rubym także jest przestrzenią nazw więc nie ma takiej potrzeby.

Nie bardzo rozumiem jak to wykorzystać. Wiem, że można w klasie tworzyć kolejne, ale czy taka zagnieżdżona klasa może dziedziczyć po tej zewnętrznej?

Mogą, sprawdź :).

Ok, faktycznie, działa tak jak chciałem. Dzięki.