Acabando com os lambdas do RSpec


Leia em menos de um minuto

Quando você começa a usar o RSpec, cedo ou tarde acabará usando o método lambda. Veja o exemplo abaixo.

it "should become 'from uk' style" do
  lambda { @emo.become_from_uk! }.should change(@emo, :from_uk)
end

O bloco lambda, após sua execução, deverá alterar o valor do atributo from_uk. O problema é que ele não combina com o RSpec. Ele é, como posso dizer, deselegante. Uma maneira bem legal de fazer isso é criando um alias.

alias :doing :lambda
it "should become 'from uk' style" do
  doing { @emo.become_from_uk! }.should change(@emo, :from_uk)
end

Muito melhor, não acha? :)