I really enjoyed reading this!<p>When Discourse was originally announced, I read this file (quite randomly), and was distressed at the complexity and length (even though I totally understand time constraints and the need to 'get it to work').<p>I had never heard of the Law of Demeter (<a href="http://en.wikipedia.org/wiki/Law_of_Demeter" rel="nofollow">http://en.wikipedia.org/wiki/Law_of_Demeter</a>), nor had I heard of Sandi Metz's rules for Rails development (<a href="http://gist.io/4567190" rel="nofollow">http://gist.io/4567190</a>), both of which put in concrete terms some of the lessons I've learned when maintaining Rails applications.<p>I'd love to see more of these!<p>Edit: After reading over the pull request, I admit I'm a little confused why the response code was refactored into 'perform_show_response' - this seems like the direct responsibility of this controller method (and isn't common or otherwise misplaced). Is there a reason why you moved it out?