Last episode we looked at a simple way to test if a method executes a block as intended that will work in any test framework. But if your tool of …
Episode #121: Testing Blocks
Today's episode answers the question: how do you test that a block passed to a method is executed as intended?
Episode #120: Outside-In
In today's episode I tackle the question of how many tests are enough. I'll show how for me, it's all about how long it's been since I last got new …
Episode #119: Intention Revealing Argument
Some techniques for making boolean flag arguments read more meaningfully.
Episode #118: Even And Odd
A small dish today, about some numeric methods I often forget exist.
Episode #117: Client Session Object
In another peek into my ongoing behind-the-scenes work on RubyTapas, today I extract the responsibility for representing a logged-in screen-scraping user-agent session into its own class.
Episode #116: Extract Command Object
In today's live-recorded episode I show one of the most fundamental refactorings for breaking up a large class into smaller classes. Since this is a live episode there is no …
Episode #115: pp
In this quick live episode I demonstrate a standard library that improves on Kernel#p
Episode #114: Null Object
In today's episode, we encounter a starship in trouble, and a software pattern that helps cleanly disable whole categories of behavior.