Salve,
Sem pensar muito, pode apelar para o velho e bom eval:
module MeuModulo
def MeuModulo.criar_classe nomes_das_classes
nomes_das_classes.each do |classe|
codigo = "class #{classe}; def metodo; puts 'metodo'; end; end"
Kernel.eval(codigo)
x =
classe.constantize.new x.metodo
end
end
Snippet escrito em 2 minutos, então tem que dar uma boa melhorada. Espero que ajude.
Atenciosamente,
Rafael Rosa
www.rafaelrosafu.comwww.rubyinside.com.br