All episodes published in 2013
Category: Season 2
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 #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 …
Episode #059: Enumerator
In previous episodes we've touched on Enumerator in passing. This time it'll take center stage, as we explore just what an Enumerator is and what it's good for.
Episode #056: xmpfilter
In this, the most requested RubyTapas episode ever, we'll take a look at xmpfilter, the program I use to evaluate Ruby expressions from within my editor.
Episode #055: Runnable Library
It's a library! No, it's an executable! Relax, your Ruby files can be both require-able libraries and executables!