Advanced Ruby Programming

Ruby has exploded in popularity over the last few years as programmers flock to the language to make use of powerful frameworks such as Ruby on Rails. However, even experienced software developers find some of Ruby’s run-time semantics a bit strange, especially the object model which was heavily influenced by Smalltalk.

This hands-on, 1-day workshop begins with a comprehensive review of the Ruby 2.0 run-time system, object model, and garbage collector. Participants will dive right in by writing code to exploit their new knowledge and in the process create executable class notes.

After taking a break for lunch the workshop shifts gears into real world application of our new knowledge. We begin by learning how to play on Ruby’s strengths in order to write better software. This includes a heavy examination of how to write tests that give you real confidence about the quality of your code instead of just passing or failing.

Participants leave the workshop with an understanding of the internal workings of Ruby and how to apply that knowledge to the real world. The new skills you acquire will lead to efficient code and effective testing.


  • Ruby 2.0 Internals
  • The Ruby Object Model
  • Method Dispatching
  • Singleton Classes
  • Module and Class Hooks
  • Garbage Collection
  • Managing Large Projects (including Rails)
  • When to Use Module Mixins
  • Dynamic and Meta Programming
  • Effective Testing
  • Test Mocking and Isolation
  • Value Coverage vs. Branch Coverage
  • Debugging and Profiling
  • Tuning the Garbage Collector

What’s Included?


  1. Participants should have a working knowledge of the Ruby programming language.

  2. A portable computer with Ruby 2.0 installed.

Upcoming Workshops