Josh and I paired for a second day at a client site. As mentioned yesterday, the project is composed of many parts that communicate together to create an application. Each part is a Rails application or a Ruby gem that wraps a Rails application.
Today we picked up a story related to the one we’d worked on yesterday. It required that we change things in a number of different parts. Our final change for the day was a bit daunting: we only knew a Ruby gem wrapped a complicated part of the system and we needed that complicated part to do a specific thing in a specific case. In other words, we needed to send in something to a black box and have it give us an expected response depending on our input. Thankfully, this turned out to be a fairly straight forward change.
Pairing with Josh has been both productive and fun. We finished or made up on a number of stories. It was interesting to get a feel for his coding style. He has created a number of Ruby gems including:
- deject: Simple dependency injection
- surrogate: Better mocks including appropriately RSpec matchers, help insuring mock doesn’t get out of sync, and more! Josh wrote a blog post going into the why.
- pbcopy: Copy to the system clipboard on OS X from Ruby code just like the pbcopy command.
Next on the pairing tour is Micah for Wednesday and Thursday.