Design Patterns in Ruby based on GoF book as well as meta-programming.