In today's episode, we'll examine how the availability of tools to aid refactoring can change how we write code.
In today's episode we learn at how to implement lazy loading using the "ghost object" pattern.
Today's dish is a refactoring approached from two different perspectives. Enjoy!
Some domain concepts are easier to spot than others. Today we deal with one of most slippery concepts of all.
In this sequel to #430, we apply a powerful pattern for encapsulating problem values.
Did you think Ruby had class methods? Surprise: it doesn't!
Today, a story about a refactoring that went south, and turned out not to be a refactoring at all.
We've used the "ghost object" pattern to lazily load attributes of a model object. And we've made a macro to easily declare "ghost-loadable" attribute accessors. Today we complete the generalization …
An variation on the Chain of Responsibility pattern that can make extending the chain more convenient.