Programming Ruby - the pragmatic programmer's guide (2. ed.). - David Thomas; Chad Fowler; Andrew Hunt (O'Reilly, 2005)