Collection of common design patterns in ruby