[rspec-users] Can you explain this code to me?

Pito Salas rps at salas.com
Thu Feb 7 18:26:33 EST 2008


I am experimenting with the restful-authentication plug in and I see
that it has generated an rspec encantation which I had not seen
before:

  it 'allows signup' do
    lambda do
      create_user
      response.should be_redirect
    end.should change(User, :count).by(1)
  end

What does the combination of a lambda and a .should mean?

Similarly but a little different:

  describe 'being created' do
    before do
      @user = nil
      @creating_user = lambda do
        @user = create_user
        violated "#{@user.errors.full_messages.to_sentence}" if
@user.new_record?
      end
    end

    it 'increments User#count' do
      @creating_user.should change(User, :count).by(1)
    end
  end

Thanks for any pointers or clarifications!


More information about the rspec-users mailing list