Run 'rails generate model User name:string email:string'.
Run 'bundle exec rake db:migrate'.
Require that users respond to :name and :email per listing 6.5.
Fix typo in user_spec.rb.
Add validation specs for user name and email.
Validate :name and :email per listing 6.10.
Add name-length validation to user_spec.rb per listing 6.11.
Validate :name length per listing 6.12.
Add spec for email-format validation; have user model validation email format.
Add spec for email case-insensitive uniqeness; have user model validate uniqueness.
Create migration that adds a uniqueness-checking index to users; run 'db:migrate'.
Lowercase user emails on save event per listing 6.20.
Add bcrypt-ruby to Gemfile; run 'bundle install'.
Create migration that adds :password_digest attribute; add spec; migrate.
Test that :password and :password_confirmation
exist, match, and not empty; add 'has_secure_password' function to User model.
Respond to :authenticate; deny excessively short passwords; test authentication.
Have User model validate :password length-minimum.