##PART1 ##This App is a test app for week 9ish? Colt and stujo are the kick ass project managers for this week!
#what with these gems?
##better_errors
|sucks you know what..|
#quiet_assets |it helps you see what is going on with the page as you play on it..|
#meta_request |It adds a rails line to the dev console and helps you track the data? |
#awesome_print |It helps with indentation |
#pry-rails |adds pry for ebugging|
#binding_of_caller |It is another debugging tool that helps call things higher up the stack!|
#pry-byebug |pry is a debugging tool by it self but by adding the byebug onto the end it makes it more powerful by allowing you to see what is going on inside the ruby app|
#What does bundle install actaully do? |It installs the gems you have added to the gem file, You must run this command everytime you add a gem!|
#Why do we use Postgres instead of sqlite3? |Postgres is a much faster DB than sqlite3.|
##PART 2 #Explain what you accomplished in this lesson It did help with learning how to know what is generated with the controllers trhough the terminal and what needs to be deleted.
#What is Capybara?
Capybara helps you test the web app by simulating how a real world user would use the app
#What is the spec_helper?
Spec helper is a gem that will help you with testing your app, It can slow down the process but it will go throught the app and make sure the test is correct!
##PART 3
#Explain what you accomplished in this lesson? I accopmlished how to understand bootstrap scss, It is much different that normal bootstrap.
#What is bootstrap you ask? Bootstrap is libary of css and javascript that is premade for you, All you have to do is add the class names onto the html or erb elements and you have a sext looking site!
#What is responsive design? Responsive design is a way to make your site good looking on all size devices.
##Part 4 #Explain what you accomplished in this lesson? This lesson we took a look at what the scaffold is, It creates quite a lot of files to use and a lot that are deemed useless...
#What is the gem rspec-activemodel-mocks??
That gem does magic!! It is a part of rspec testing that will help make to go quicker, It is kinda like an under paid, under appreciated stunt dubble..
##part 5
#Explain what you did this lesson? I learnt how to validate a rails app. There is still a lot more to learn. We alsp did some factory girl rspec tests, I still have some issues understanding it but that is one thing i will do next week!
#Name at least 3 types of default Rails(non-custom) validations 1.password 2.age 3.email
#What are some things that you might want to write a custom validation for?
there are many things you can write a custom valadation for, Email, user name is valid to the account
#When are your models actually validated?
they validated the things in the DB
#levil 6 seeding #Explain what you did It got a little weird with all this sutff.
Explain what is the difference between .find_or_create_by and find_or_initialize_by?
find_or_create_by: will searck the database and if it is not in the database it will create it if it is it will not recreate it.
find_or_initialize_by:It will find the thing it is looking for and initialize it if t is not in the database but it will not save it.
#What does the forgery gem do? It will add random seeds to your seed file.
#What other gems are out there to help create seed data?
Faker, randexp, random data, CheapRandom, Data anonymization, ffaker
#How do you select a random element from an array?
thing.find
##part 6
#Explain what you did We added devise and added devise rspec tests
#Explain each of these devise behaviours
Confirmable: sends emails with confirmation instructions and verifies whether an account is already confirmed during sign in.
Recoverable: resets the user password and sends reset instructions.
Registerable: handles signing up users through a registration process, also allowing them to edit and destroy their account.
Rememberable: manages generating and clearing a token for remembering the user from a saved cookie.
Trackable: tracks sign in count, timestamps and IP address.
Timeoutable: expires sessions that have no activity in a specified period of time.
Validatable: provides validations of email and password. It's optional and can be customized, so you're able to define your own validations.
Lockable: locks an account after a specified number of failed sign-in attempts. Can unlock via email or after a specified time period.
What did you have to do to update your rspec tests after adding authentication for the things What are the routes that were added and what do they do?
I had to add some things into the spec controller to help make it work!