Beginning Ruby: From Novice To Professional door Peter Cooper