Design pattern examples in Ruby