Comece uma atualização do FactoryGirl da antiga para a nova sintaxe

Atualizar da antiga sintaxe FactoryGirl para a nova sintaxe é uma dor de cabeça. Eu procurei por soluções pré-existentes na web, mas não consegui encontrar nada para ajudar com a atualização (talvez para vergonha na implementação desajeitada que essas coisas tendem a ter).

Isso não resolverá tudo, mas certamente o ajudará a começar.

$ find spec/factories/ -name "*.rb" -exec perl -i -pe's!Factory.define[(s](:w+)[)]?(.*?)do |f|!FactoryGirl.define donn factory $1$2 do!;s/bf.//' {} ;

Eu gostei muito de usar Perl para “analisar” as fábricas Ruby. Provavelmente um pouco demais. Isso economiza alguns golpes.

O ‘f.’ a substituição é específica para nossa implementação, embora muitos façam as coisas exatamente da mesma maneira.