ChrisGF/recruiting — pull request #11 by jasonlyles (2014-10-01 13:42:50+00:00)
Title: Recruiting app bug fixes and new features

Hey Chris,

Sorry it's taken me so long to get this back to you, I haven't had much time to work on it. I spent Sunday night setting up the project and fixing bugs. I spent more time getting the project set up and getting ruby 2.0.0-p247 to compile then the time spent actually fixing bugs. :) I thought the bugs were fairly easy to locate and fix. I started to try and add specs for the fixes and saw that there were a lot of unrelated specs failing. I started to go through and try to fix some of them, but it seemed like some of the tests were for code that doesn't exist. I would have spent more time on fixing and adding new tests and commenting out irrelevant tests, but I've only had Sunday and Tuesday night to work on this, and thought my time was better spent on fixing the bugs and adding some new functionality.

For the new functionality, I added the ability to upload images and displayed the images on both the profile page and the investments page. I ended up spending more time trying to get it to look OK than I did getting the functionality going.

I also added the ability for a user to follow deals. A user is presented with follow/unfollow buttons on the investments page and can also see which deals he is following on his profile page. Unnecessary functionality (Publish/Unpublish, edit,delete) is hidden on deals the user doesn't own.

I would have looked into adding an admin backend, but I think that could have been done fairly easily with active_admin. It looks like you had it in the project and removed it for this recruiting app. I thought the follow/unfollow problem was more interesting since I hadn't done anything like that before and chose that one instead.

I feel like this was a good exercise and probably a good way to pick out decent developers. I just wish I had more time to work on it. I thought the bugs were easy, but all around it was a good test. I did get a good sense of how you work, and I saw some ways of doing things I've not seen before. Specifically one of the things I'm thinking about is the create! block in the deals_controller create action. Looking at that reminds me of how you would handle callbacks in jQuery when making an ajax request. Also, some of the gems you used were unfamiliar to me, so I got a chance to check out some new stuff and learn a few new things.

Thanks,
Jason