Когда-либо смотрел на https://github.com/mthiede/rgen?
Кроме того, конечно, вы можете создать метамодель Ecore для рубина, вы можете использовать RDT для затмения.
Однако Java + Ecore специализируется на создании внешних DSL, в то время как ruby в качестве динамического языка может предлагать внутренние DSL (т.е. в форме драгоценных камней).
НО, тем не менее, использование MDSD может значительно ускорить разработку - вы можете проверять свои модели, создавать тестовые случаи и т. Д.