adding the ability to edit your user information, have not yet made the edit page secure, but do require password to edit user.  to edit it, you simply go to edit page and then pass a put message which updates and is handled by the update method in the controller.  also pass a nice flash message, sign in the user, and redirect to the user page.
testing to make sure that must be signed in to visit the user edit page
testing to make sure that must be signed in to visit the user edit page
checking for the correct user in the users controller using the sessions helper which has methods to check the cookie, then it compares the user as specified by the page url tot he user as specified by the cookie and if they don't match it redirects them
implemented friendly forwarding by creating a redirect_back_or function in the sessions helper that redirected to a variable :return_to and then deletes it, return_to was created by the store_location function, the store location function was used by the UsersController which before routing the user checks to see if they are signed in in a private method signed in user, which is called with a before filter, and if they are not signed in, it stores the location and then redirects back to the signing url.  after they sign in, the create method calls the redirect_back_or function that sends them where they were originally intending to go, and deletes the session cookie using session.delete(:return_to)
added faker to the gemfile to create fake users, created a lib tasks rake file to create fake users, addeed some css to the index for the users page, changed teh users controller to point to the index page and assign the @users variable to an array, created a users index page that iterated through users and printed out data, created the associated tests, updated teh header to include a users tab to see all the users
added the paginate method, which means i had to add in a tag at the top and bottom of the users index page found at the users_path and then change the action in the controller to return a relation instead of an array, and re-wrote the tests to user 30.times and create a bunch of users, using before(:all) and after(:all) and also updated the factories to create subsequent users with sequence(:name) and sequence(:email) and of coures instealled the will paginate gem and bootstrap will paginate
refactored the users index erb page to simply render users.  this triggers a few events in rails.  first, it knows that users is a collection of user objects and knows their class, then it looks for the _users.html.erb partial, and then it iterates through its list of users and renders the partials.  updated the users spec with an admin test to see that i correctly created admin objects in the database.  updated teh database with a admin attribute using rails generate migration add_admin_to_users admin:boolean letting it know it's a boolean.  also this adds the .admin? method.  then migrated the development database and prepare the test database.
added an admin block to the factory so I can createa a user admin
after creating an admin ability in the factory to create admin users, I now added a delete method to users and restricted it only to admins.  Additionally I made tests to ensure the admin could not delete himself and that other users could not send delete requests unless they are admins.