Best Ruby & Ruby on Rails Resources
I wanted to compile an ultimate list of Ruby resources, books, courses, people to follow, etc... This list contains resources I have used over the years while learning and writing Ruby (on Rails) professionally. My goal is to keep this list up to date as I discover (or am recommended) new resources. So many lists were great in 2015, but fall behind. That won't be the case with this one. Feel free to recommend any useful resources to me on Twitter @leighchalliday.
Books
There is a wealth of knowledge out there in the Ruby community when it comes to books. Below I'll list my favourite books starting with the ones covering the Ruby language itself, then covering how to write Ruby code well, and lastly some books around Rails and testing.
- David A. Black: The Well Grounded Rubyist (3rd Edition) This is the brand new (not released until July) version of this tried and true title. This is very much a book which covers the language constructs: variables, control flow, classes/objects, enumerable module, and other core built-in modules and classes. Good for when you want a complete overview of the language itself. I would wait until July 30th to get the latest version. #ruby
- Russ Olsen: Eloquent Ruby Eloquent Ruby teaches the language of Ruby, but does it in a way that looks and feels very much like Ruby. Ruby has a specific style which comes from it's dynamic, metaprogramming nature, lending itself to DSLs (which are covered). Although this book is from 2011, the language of Ruby moves much more slowly than Rails, so it is still a valuable learning resource. #ruby
- Sandi Metz: Practical Object Oriented Design in Ruby (2nd Edition) This is an absolutely fantastic book which will change how you think about writing object oriented code. Sandi is thoughtful, clear, and will leave you a better programmer. This is the 2nd edition which will not be released until July 17th... I suggest to wait for this updated version. #ruby #design
- Sandi Metz & Katrina Owen: 99 Bottles of OOP This is another fantastic book by Sandi Metz and Katrina Owen (who is behind exercism.io), covering how to write object oriented code well. This book is practical, covers TDD, and will leave you a better programmer. This is the sort of book that will help you for the rest of your career. #ruby #design
- Avdi Grimm: Confident Ruby
How should the code in a method be structured? How can you be confident about your code? What is the difference between
to_a
,to_ary
, andArray
? Avdi covers 32 patterns for writing confident code. For me the "guard clause" has made a big improvement in how I code. I can't recommend this book enough. #ruby #design - Russ Olsen: Design Patterns in Ruby Russ covers fourteen of the patterns you'd find in the "Gang of Four". A special focus is put on the dynamic aspect of Ruby including metaprogramming. You should keep in mind that this book is from 2007, now over 10 years old, but because this is a patterns book, it should still be relevant. #ruby #design
- Michael Hartl: Ruby on Rails Tutorial This is the best Rails tutorial in book format. It has been updated multiple times to keep up to date with major Rails releases. It covers Rails 5, but doesn't cover the latest features such as ActionCable, webpacker, and ActiveStorage, but for the core concepts of Rails development this book is great. #rails
- Obie Fernandez: The Rails 5 Way An excellent book for an intermediate Rails developer who wants to bring their Rails skills to the next level. This isn't a tutorial, but a guide on how to write Rails code well, following the most recommended patterns in the community. Like the Ruby on Rails tutorial, it targets Rails 5.0, so is missing newer additions to Rails such as ActionCable, webpacker, and ActiveStorage. #rails
- Noel Rappin: Rails 5 Test Prescriptions Writing tests well in Rails takes practice and effort... there are system tests, unit tests, controller tests, etc... Should you use fixtures or factories? Should you use VCR or Webmock. Noel covers all this and more in a book that I highly recommend if you want to take testing your Rails app seriously. #rails #testing
- Myron Marston & Ian Dees: Effective Testing with RSpec 3 This book has everything you want to know about RSpec and how to write tests well. It is less Rails-centric than the Rails 5 Test Prescriptions book by Noel Rappin, but it goes deeper into RSpec specifically. #ruby #testing
- Noel Rappin: Take My Money: Accepting Payments on the Web This is a very comprehensive guide covering all things money related. If you accept payments (or would like to) in Rails, definitely check this book out. Noel is also the author behind Rails 5 Test Prescriptions, so you know testing will be covered here as well. #rails #payments
- Nate Berkopec: The Complete Guide to Rails Performance This book/course will cost you $99 and is all about how to get the most performance out of your Rails app. It covers speed techniques + how to monitor and debug your app's performance. #rails #performance
Courses
There are a tooon of great courses out there to learn Ruby. Some are free (or partly free), others require a subscription, while others require a one-time purchase. It's hard to say which is better, so I recommend doing the free parts and then making a decision.
- Codeschool: Ruby is one of the best interactive Ruby courses out there. The "Try Ruby" course (which is free) was the first Ruby I ever wrote. A subscription is $29 per month. Rails For Zombies is another fantastic (and free) course ofference by Codeschool which is what I used when I was first learning Rails.
- Treehouse has fantastic Ruby & Ruby on Rails development tracks. There are videos on deploying Rails with Capistrano, using Sinatra, and core Ruby and Ruby on Rails concepts. A subscription will cost $25 per month but you can start with a 7 day free trial to see if you like it first.
- Codecademy has a great interactive Ruby course where you can access most of the content with a free account.
- Udemy: The Complete Ruby on Rails Developer Course is a very highly rated course on Udemy which is updated constantly.
- One Month Rails is a course where you build a Pinterest clone app from start to finish. The cost is $29 per month, but if you finish the course in 1 month you can cancel before you get charged again.
- Upcase by Thoughtbot Upcase is a sort of an "online mentoring" product which will help you level up your Ruby skills... their tagline is to Take "junior" out of your title. They have new videos weekly and will set you back $29 per month.
- Exercism is a great tool to practice your Ruby (and tons of other languages) development through a set of small exercises. They give you the challenge and it's your job to write the code to get the tests to pass.
- Platzi: Ruby on Rails (in Spanish!) If you are a native Spanish speaker and want great content in your own language, definitely check out Platzi.
- Coursera: Ruby on Rails specialization Consists of 6 courses covering everything from ActiveRecord to the frontend (with some Angular). The content for this course comes from Johns Hopkins University.
- Daniel Kehoe: Learn Ruby on Rails 5 Is great for new and old programmers alike. The first book is free but there are paid subscriptions starting at $19 per month for additional content and videos. Rails 5.1 is covered.
- Pragmatic Studio: Rails Consists of 4 courses/modules, starting at $124 for the first course. This course has been updated for Rails 5.
Podcasts, Screencasts & YouTube Channels
- Ruby Rogues The original Ruby podcast. Hosts have switched over the years but it continues to produce weekly episodes with top quality guests and content. Check out this one with DHH.
- Avdi Grimm: Ruby Tapas Ruby Tapas has free content but if you want it all, it'll cost $18 per month. It's definitely worth it for 100s of episodes covering all things Ruby.
- The Bike Shed by Thoughtbot This podcast covers Ruby, Rails, and rocketships. Tons of rants, tons of good info. The hosts are Derek Prior from Thoughtbot and Sean Griffin from Shopify (and core Rails maintainer focusing on ActiveRecord).
- DHH / Getting Real A very interesting video series from DHH where he shows real code examples from Basecamp and walks through why they did things the way they did them. Very few people let you peak at their production code, so it is incredibly interesting.
- Go Rails has a ton of screencasts with new ones being released weekly. The monthly subscription costs $19 but it seems well worth it given the content available.
- Drifting Ruby When started learning Ruby, RailsCasts was the place to go for Rails screencasts, with it gone it's nice to have alternatives like Go Rails and Drifting Ruby. A subscription will cost you $15 per month.
- 5by5 Ruby on Rails Podcast hosted by Kyle Daigle from GitHub.
Conference Talks
- Rails Conf 2017 High quality videos from Rails Conf 2017.
- Ruby Conf 2017 High quality videos from Ruby Conf 2017.
- Confreaks Your source for amazing conference videos.
- GORUCO Videos of the talks from this New York based Ruby conference.
Tutorials
- why's poignant guide to ruby An incredibly quirky but loved guide to ruby.
- GraphQL This is an amazing guide to using GraphQL in your Rails app. This specific one covers Ruby, but there are other guides for different languages both for the backend but also for frontend frameworks like React/Apollo.
- Mackenzie Child A free series of videos which build full "clone" style apps. The videos cover Rails 4 but most things are still relevant.
Resources
- Ruby Weekly The best source for weekly Ruby updates & articles.
- Dev Scoop A new-ish Ruby newsletter now in its 10th episode, covering news, tutorials, updated gems, and more.
- Brandon Hilkert A newsletter with Ruby and Rails tips sent twice per month.
- awesome-ruby A curated collection of the best gems broken down into categories.
- Ruby Flow A community linklog run by the folks behind Ruby Weekly.
- The Ruby Toolbox as of February, 2018 is being maintained again and is a great resource to discover different gems and get a handle on a gem's health.
- One Ruby Thing is a cool bi-weekly newsletter which covers a single Ruby (or Rails) technique. It is very focused and brief so won't leave you feeling overwhelmed.
- This Week In Rails will keep you up to date on what is happening, upcoming, and newsworthy about the Rails code base.
Bloggers, Twitter and Thought Leadering
- @rubyinside The Twitter handle for Ruby Weekly.
- @schneems Richard Schneeman works at Heroku and produces a lot of good Ruby & Rails content.
- @tenderlove The one and only Aaron Patterson (aka Tenderlove).
- @searls Justin Searls... come for the salt, stay for the Ruby. Lots of good stuff on testing & mocking.
- @justinweiss Justin has produced a Ruby on Rails book and a ton of great articles on Rails development.
- @nateberkopec Nate is an expert when it comes to performance in Rails.
- @solnic Piotr Solnica is behind rom-rb and dry-rb.
- @jodosha Luca Guidi is behind the Hanami framework.
- @eileencodes Eileen works at GitHub, is on the Rails Core team, and is in charge of the Rails releases.