Desde que lancei a primeira versão do Remarkable tenho visto cada vez mais pessoas aderindo ao projeto para criar seus testes com maior rapidez. E com uma quantidade maior de pessoas usando nas mais diversas aplicações é claro que os bugs começaram a aparecer.
A maior parte dos problemas ocorriam por uma falha na arquitetura inicial do Remarkable, o que tornou necessário um refactoring no projeto inteiro para estruturá-lo melhor. Na primeira versão, internamente havia uma separação muito clara entre as duas sintaxes que o projeto oferecia. Com a reestruturação não existe mais esta separação, não importa qual é o seu estilo, RSpec ou Shoulda, internamente você sempre usará o mesmo código para realizar os testes.
Desta forma, acabamos por ganhar muitas macros novas.
Enquanto na versão em RSpec isto já era algo comum:
end
Na sintaxe do Shoulda apenas possuíamos macros should_[alguma coisa] e quase nenhuma should_not_[alguma coisa]. Mas agora todas as macros possuem as duas opções, assim:
should_belong_to :user
should_not_have_many :fleas
end
Além disso mais testes foram adicionados para garantir que problemas antigos não voltem para nos assombrar.
Para atualizar o Remarkable, execute no terminal (lembrando que no Windows não precisa usar o sudo):
Ainda falta um logo e um site para o projeto. Alguém se habilita?
O (Comovente) Guia de Ruby do Why

Acabei de atualizar o livro com novas traduções e correções. Devido a minha falta de tempo, acabei demorando para aplicar alguns dos patches que me foram enviados.
Na maioria das vezes, os colaboradores são rápidos demais e várias pessoas corrigem o mesmo texto de formas diferentes, e isto complica um pouco na hora de aceitar uma atualização. Eu tenho de olhar arquivo por arquivo antes de decidir qual será aplicado. Mas isto é bom, porque garante uma maior qualidade à tradução, embora torne o processo um pouco mais lento.
O livro pode ser encontrado na url: http://why.nomedojogo.com. Também existe uma versão para impressão em http://why.nomedojogo.com/print.html.
A processo de tradução já foi finalizado, todo o livro já está em português. Ainda falta ajustar algumas imagens e formatações de texto, mas acredito que se conseguirmos mais colaboradores teremos o livro completo e finalizado até o fim do ano.
Quer ajudar? Comece lendo o livro e quando encontrar algo errado altere aqui.
Carlos, tem algumas tirinhas na versão para imprimir do livro que estão gigantes.
Tem mesmo… precisamos corrigir.
Carlos, usando o Remarkable, percebi algo aqui que não sei se é o comportamento esperado mesmo e eu que estou viajando ou se é um bug:
Quando uso
it { should require_unique_attributes(:foo) }E rodo a spec, o teste falha com a mensagem
Can’t find first MeuModel
Isso significa que não consigo rodar minha spec se não houver nenhum objeto no banco de testes? Estranho isso!
Cássio, isto é uma necessidade apenas para o require_unique_attributes.
Não tem como o remarkable incluir automaticamente um registro no banco de dados, já que você tem uma série de validações. Então para ele conseguir se certificar que um registro é único, você já precisa ter pelo menos um no banco, para que ele pegue e tente gravar igual.
Não sei se fui muito claro. Mas somente o require_unique_attributes depende de um registro já inserido no banco.
Entendi. Nesse caso, acho que algo do tipo
describe MeuModel do before do Factory(:meu_model) end it { should require_unique_attributes(:foo) } enddeve resolver, né?
Obrigado!
Resolve!
Carlos,
Comecei a ler o livro e percebi que está se usando travessão para underscore. Não seria melhor sublinhado!
Parabéns a todos pela tradução.
hmm… na verdade também não é sublinhado. Mas concordo que travessão também não é tão legal. Alguém tem outra sugestão?