Thanks for reviewing my submission! A few notes:
- In case you want to view the running app without/before deploying it yourself, it's on Heroku at whats-the-deal.herokuapp.com. You'll need to create an account there and wait for me to authorize it, but I'll get an email as soon as you create an account, and I'll make you an admin immediately.
- In development, all emails will show up at /letter_opener.
- My process for building this app reflects the way I develop any app intended for production, and the commit log reflects this. Walking through the commits (starting with 70b69f0), therefore, would be a good way to discover my thought process and development approach, if you are so inclined. Almost all of the commits have extended messages that attempt to tell the development story.
- Installation and configuration instructions are in the DEPLOYMENT.md file.
- The 'smallsleepingtree' account is not my main account - I created this one specifically to be able to anonymously submit a pull request (rather than patches) since I wanted to demonstrate my steps through the commit log. My actual account is ravigadad. Unfortunately, I have very little public code there yet, though I'm intending to change that drastically in the near future.
- When I was sent this challenge by a LivingSocial recruiter, I was told "it should take you no more than a few hours, however there is no time limit." As you can probably tell, I spent more than a few hours; total time spent was probably closer to 8 to 10 (I didn't track it, and it was time sparsely administered as I'm currently working full-time and tend to be active during the evenings, but that's my estimate). Just thought I'd be up front about that.
- The instructions indicated that Ruby on Rails was required, and I imagine that's to assess one's comfort with a framework that LS uses extensively. However, in a real (read: more customer-oriented) development situation, I wouldn't necessarily take this approach; I worry that Rails is a proverbial hammer in the Ruby community, and isn't always the correct/only solution. That said, it can be a good fit for reifying a prototype or concept relatively quickly, which in this case was ideal.
- If you run the test suite, simplecov will spit out a coverage report. Just open ./coverage/index.html in your browser to see it.
- I'm a bit wordy, if you haven't already noticed.
Thanks again for your time - feel free to contact me if you have any questions.
Ravi Gadad ravi@gadad.net