Feature branch SKILL-2 added Students
Remove example database configuration

Add schema for students table

Add first spec for student.

Add student model

Add validation to not allow duplicate student names

Add uniqueness validation to Student model

Add index controller for students model. Show all students

Add FactoryGirl factory for students

Add spec for GET on StudentsController

Add namespace for api, add route for students index

Place students_controller in directory match route namespacing.

Create :api :v1 route namespacing, constrained to the api subdomain, include resource routes for :students

Refractor spec to reference StudentsController by Api::V1 and manually set the request.host to include the api subdomain.

The URL 'api.skillscourt.com' is just defined by me on my local machine in /etc/hosts. In that file I have:

127.0.0.1 skillscourt.com
127.0.0.1 api.skillscourt.com

This 'tricks' the browser into thinking that these two URLs are actually being hosted by your computer, so you can send
requests to them and your local machine will respond. (Try to ping skillscourt.com and see the IP of the response packets)

Include default format of JSON for the api routes.

The server will respond with JSON to a GET request coming to /students. You don't have to specify /students.json. However if the request goes to /students.html then rails with throw a 'UnknownFormat' excpetion and respond with a '406 Not Acceptable'. There's probably a way to handle this explicitly, however I'm not sure how to do this. I'm assuming here that we have no use for this data in html format.

Add missing newline

Add faker gem to factorygirl to use lazy variables

Refractor spec

Add spec for #show method

Add spec for requesting a student by id

Add #show method to get student by id

Change first_name to name

Refractor spec by creating helper methods for common setup and validation tasks

Put example db config file back

Correct folder structure and filename

Refractor route subdomain constraint

Delete http_success method and use simple oneliner

Encapsulate #index and #show methods.

Put find logic in private methods

Refractor student #show helper

Remove helper methods

Added simplecov configuration
- Added simplecov gem
- Added configuration to spec/rails_helper
- rails_helper cleanup

Rename back to plural

Remove old student factory

Set action mailer to not send email in development environment

Add routing specs for Students

Add missing new line

Remove student controller spec

Add spec for routing with multiple subdomains.

Use Faker to create a random domain word to insert into the base api url.

Refractor hashes in expectations to ruby 2.x style

Refractor out url from before:each to let block