joshmcarthur/inquest — pull request #7 by joshmcarthur (2013-04-19 03:06:55+00:00)
Title: Feature/user tag questions

@NzCub3y,

I've just finished the implementation for user tags questions, rounding off a nice 50 files changed.

I made a number of adjustments to the way tags were being done, but kept the `has_and_belongs_to_many` core in, rather than replacing with a gem - I felt all the available options out there were overkill for what was needed.

Here's a rundown of the functionality:

* Question creator can tag questions while adding the question. Tags autocomplete and can be dynamically added and removed before saving the question
* Tags are shown just below the question title
* A list of tags, and the number of questions tagged with that tag are shown on the authenticated home page
* There is a list of tags available with each tag showing the top 5 questions for that tag (not yet linked to)
* Clicking on a tag from a question or the homepage shows a full list of questions for that tag.

Because this implementation happened during a general overhaul of the interface for questions and answers, there are also some minor design and UI changes in this pull request. Where relevant, I chose to leave them in this branch as they related to the implementation of tags.

This branch should also fix a race condition with the order the specs were run in that was causing Travis CI to fail one particular spec intermittently depending on the order the specs were run in. This race condition is the main reason the build has been failing, typically presenting itself as a failure on the votes model on just one Ruby (the specific version varies).