sim, você pode.
É a meta-programação do Ruby 101 via Class.new
Exemplos:
http://blog.rubybestpractices.com/posts/gregory /anonymous_class_hacks.html
http://blog.jayfields.com /2008/02/ruby-creating-anonymous-classes.html
Para hackear os nomes enquanto você os recupera, veja const_set como nesta resposta:Defina dinamicamente classes nomeadas em Ruby
Você basicamente passaria pelo seu banco de dados e apenas criaria as classes.