drichards2013/runescapeguides — pull request #4 by pensivearchitect (2014-01-11 00:54:48+00:00)
Title: Various subjective refactorings

Hello!

I'd like to recommend a few preliminary changes.

I put some various dependencies in the gemfile that I thing would help you that remain testunit oriented (I left some rspec deps commented out, as personally I prefer rspec, but I didn't want to impose my way of doing things on you)

* I included haml due to the fact that I prefer haml personally, and I think you should try it out. Including it should be harmless and won't break any .erb files
* I included puma so that we can handle more requests than standard webrick, unicorn is another fine alternative on heroku however.
* factory_girl creates a much nicer alternative to mocks known as "factories" that I find a lot easier to work with.
* bower_rails allows for a seamless inclusion of dependencies from bower (this isn't needed yet, but really helps when you do)
* foreman is excellent for managing multiple processes.
* jazz_hands gives us access to a nice set of extensions to pry, a much better alternative to irb
* guard and its cousins allow for certain tasks to run whenever certain files are updated, I find it essential to rails work (included are guards for automatically running bundle install when you change the gemfile, running migrations automatically, a guard that takes advantage of websockets to reload js/css without you having to reload the page! (requires the [livereload](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei) chrome extension)
* spring allows for fast application reloading, it will be included in rails core in a few releases, but we're not there yet!
* The better_errors, binding_of_caller, and meta_request triad allow for a very powerful interface into the application when an exception is thrown, similar to pry and friends.
* shoulda-context allows for an extremely terse and DRY syntax for testunit tests (matchers does the same thing but for rspec)
* capybara provide a method for testing views, by being able to test if something is clickable or not (webkit version requires qt)

I removed .DS_Store from version control as I don't think it needs to be here.

And finally I attempted to DRY up the routes by scoping the quests route and pulling the name of the quest from an array.