Practical object-oriented design in Ruby : an agile primer / - Metz, Sandi. (Addison-Wesley, 2013)