In the second of two episodes about the 'break' keyword, we discover how to override method return values to suit our own needs.
Category: Episodes
Episode #070: Break
In this, the first of two episodes on the 'break' keyword, we look at how it can be applied beyond breaking out of loops.
Episode #069: Gem-Love Part 4
The last Gem-Love episode had me creating a command-line client. This time around, I use Rack and Sinatra to build a simple server. Source code can be found here: https://github.com/avdi/gem-love/tree/rubytapas-069
Episode #068: Display Builder
In some applications there is a many-to-many relationship between types of objects that may be displayed to users, and formats in which they may be rendered. There may even be …
Episode #067: Moneta
In the last episode we gave a class the ability to cache HTTP responses in a Hash or something that behaves like a Hash. Now we'll introduce the Moneta gem, …
Episode #066: Caching an API
Web services are slow to request and often have rate caps. A cache can cut down on requests to remote APIs. But how best to design the interface between the …
Episode #065: FFI Part 7: The Last Refactor
Factoring out a high-level interface for PulseAudio.
Episode #064: Yield or Enumerate
A number of Ruby standard library methods return an Enumerator if no block is passed to them. In this episode, we'll learn how to emulate this behavior in our own …
Episode #063: Gem-Love Part 3
Returning to my Gem-Love project in this episode, I use TDD to drive out a client-side implementation for the first feature. In the process, I talk about message-first design. Check …