Agregue clases de Ruby a un módulo cuando esté definido en archivos separados

Me gustaría poner un espacio de nombre a mis clases de Ruby colocándolos en un módulo. De hecho, esta es una buena idea si decido publicar mi gem de Ruby para que los nombres de las clases no coincidan con las clases existentes en otra gem. Sé que puedo hacer lo siguiente para una clase A::B :

 module A class B end end 

Sin embargo, lo anterior es bastante engorroso ya que necesito poner todas mis definiciones de clase en un solo archivo fuente de Ruby para poder ubicarlas en el módulo. Preferiría mantener mis definiciones de clase en archivos de origen separados, como un proyecto Java, así que, ¿cómo puedo agregar clases a un módulo cuando todas están definidas en archivos separados?

La práctica aceptada en este caso es envolver cada archivo en un bloque de module

 # a/b.rb module A class B end end # a/c.rb module A class C end end 

Por cierto debido a la forma en que se resuelven las constantes, es recomendable utilizar la forma larga que cité anteriormente en lugar de class A::B

( http://blog.honeybadger.io/avoid-these-traps-when-nesting-ruby-modules/ ).