# Ruby Book List ## Learning Ruby You're taking your first steps into Ruby ### [The Well Grounded Rubyist](https://www.amazon.com/Well-Grounded-Rubyist-David-Black/dp/1617291692) A good introduction to programming in general. Easy on newer programmers. ### [Eloquent Ruby](https://www.amazon.com/Eloquent-Ruby-Addison-Wesley-Professional/dp/0321584104) A good introduction to Ruby and its' style. Slightly more in depth than the Well Grounded Rubyist as far as language tricks. ### [Programming Ruby](https://www.amazon.com/Programming-Ruby-1-9-2-0-Programmers/dp/1937785491) The pickaxe book, written by some of the best in the industry and often mentioned as the de-facto starting point ### [An Illustrated Guide to Ruby](https://baweaver.gitbooks.io/an-illustrated-guide-to-ruby/content/) An illustrated guide to Ruby written by yours truly. Currently a work in progress, but aims to teach Ruby to complete beginners using pictures of Lemurs and various programming concepts. ## Intermediate Ruby You've got the basics, now it's time to refine them a bit and get your references ### [POODR](https://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330) Practical Object Oriented Design in Ruby covers how OO should work in Ruby and helps you on your way to leveraging that power. ### [Design Patterns in Ruby](https://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/0321490452) The GoF book comes to Ruby. Be forewarned that you should read POODR first and take some of these patterns with a heavy grain of salt. ### [Confident Ruby](https://www.amazon.com/Confident-Ruby-Patterns-Joyful-Coding-ebook/dp/B00ETE0D2S) Learn how to write Ruby confidently, avoiding patch hacks and ugly kludgery. ### [Exceptional Ruby](https://pragprog.com/book/ager/exceptional-ruby) Making code work is one thing, making it behave itself with failure? Learn about Ruby exceptions and their power. ## Doing things with Ruby So you've learned Ruby, now what? ### [Wicked Cool Ruby Scripts](https://www.amazon.com/Wicked-Cool-Ruby-Scripts-Steve-ebook/dp/B002N3M6SG) Get a feel for some more practical Ruby usage ## Advanced Ruby Using the advanced features of the language or just outright difficult concepts. ### [Metaprogramming Ruby](https://www.amazon.com/Metaprogramming-Ruby-Program-Like-Pros/dp/1934356476) Want to learn some black magic in Ruby? All of that meta-goodness that you've heard about explained in depth. ### [Understanding Computation](https://www.amazon.com/Understanding-Computation-Machines-Impossible-Programs-ebook/dp/B00CT3C4IM) Learn the foundations of Computer Science in Ruby. ### [Ruby Under a Microscope](https://www.amazon.com/Ruby-Under-Microscope-Illustrated-Internals-ebook/dp/B00GK5P6L2) Take a look at what makes Ruby tick, all the way down to its' compilation. ### [Kestrels, Quirky Birds, and Hopeless Egocentricity](https://leanpub.com/combinators) If you thought that Metaprogramming Ruby was trippy, stay away. This book covers functional combinators in depth in Ruby and gives you a view of what lambdas can really do. Not for the faint of heart, this book has some incredible ideas and writing. ## Testing ### RSpec One of the most popular testing frameworks in Ruby #### **[OLD]** [The RSPEC Book](https://www.amazon.com/RSpec-Book-Behaviour-Development-Cucumber-ebook/dp/B00A32NY44) The traditional standard in RSPEC, and for good reason. #### [Effective Testing with RSpec](https://www.amazon.com/Effective-Testing-RSpec-Build-Confidence/dp/1680501984) Written by one of the writers of RSpec and probably the best book on testing out on the market currently. ### Minitest Minitest is a lightweight alternative to RSpec #### [The Minitest Cookbook](https://chriskottom.com/minitestcookbook/) A detailed guide on getting started with and using Minitest effectively