Locally Sourced Issue 1: Adding A Feature To Rails
It's with a lot of excitement and not a little bit of nervous tension that I release the first issue of Locally Sourced into the world. 

You can download the issue from the "locally_sourced.pdf" link at the top of this post.

I hope you like it, tell all your friends, and sign up to see future issues at http://www.patreon.com/noelrap.

This first issue is a detailed write up of the steps I take when I add a new feature to Rails. The tests I write, and why I write them, the objects I create and why, the error conditions I test for. Along the way, I also refactor a test to use test doubles and talk about why that is or isn't a good thing. 

The idea behind Locally Sourced is that the main article in each issue would be somewhat around the length of a chapter in technical book. This one got away a little, it's maybe a chapter and a half or two chapters.

I hope you find this description interesting and useful. I'd expect that people will disagree with one part or another, and that's fine, there are a lot of ways to be successful.

I'm a little afraid that if you are the kind of person who thinks all us TDD and Service Object advocates do is add complexity, then seeing that I wrote like 8,000 words on the subject is unlikely to change your mind...

Please do pass this around. As I type this, I have about 10% or so of the amount of donations that I think I need to make this minimally viable. If you'd like to become a patron and see future issues you can see the options at http://www.patreon.com/noelrap.

A few logistical notes:

  • While this issue will be released free, the source code will be available to people at the $5 pledge level.
  • The Slack room for people at the $2 and up level will happen once we have enough people to make it viable.

Issue 2 is going to cover a whole lot of topics related to accepting payments, including dealing with a gateway, inventory management, dealing with money, and how you test all of this stuff. I'm really excited about it, so I hope you'll sign on to be able to read it.