[Tiago Motta] Plugin do rails para copiar erros de um model para outro

Em um projeto pessoal precisei desenvolver uma maneira de copiar os erros de um model para outro. Como é uma funcionalidade que outrora já havia precisado, aproveitei para criar um plugin e disponibilizá-lo para quem mais tiver esse mesmo problema.

O plugin está disponível no GitHub pelo endereço http://github.com/timotta/copy_errors_from/tree/master. Para instalar no seu projeto basta rodar a seguinte linha:

script/plugin install git://github.com/timotta/copy_errors_from.git

Após instalar todos os seus models terão o método copy_errors_from, que pode ser utilizado como mostrado abaixo:

> filme = Filme.new :titulo => 'Corra que a polícia vem aí'> ator = Ator.new> filme.atores.push ator> filme.save #return false> filme.errors.entries #return []> ator.errors.entries #return [['nome','Não pode ser vazio']]> filme.copy_errors_from ator> filme.errors.entries #return [['ator_nome','Não pode ser vazio']]> filme.errors.on(:ator_nome) #return 'Não pode ser vazia'