Logo Logo white GoRails
Path Series Lessons Forum
Courses
Rails for Beginners

How to build a complete, real-world application from scratch with Ruby on Rails step by step.

Advanced Ruby: Behind the Magic

A lot of Ruby code is "magic". We'll explain the magic and see how it works using the powerful tools Ruby gives us.

Payments with Rails Master Class

Accept subscription and one-time payments with Stripe in your Rails apps

Refactoring Rails

Expert advice on keeping Rails apps organized and fast.

Learn Hotwire

Learn how to build fast, modern web apps with HTML over the wire.

Content
Install and Deploy Rails Guides

Setup your computer with Ruby on Rails and deploy to a production server.

Apps
Hatchbox.io

Cheap, easy hosting for Ruby and Rails apps.

Jumpstart Rails SaaS Template

Launch your product business way faster with our SaaS template.

Other
Remote Ruby Podcast

A weekly podcast on web development and building products with Ruby, Rails, Javascript, and more.

GoRails Open Source

A few of the Open Source projects we do at GoRails.

Rails Hackathon

Build a Ruby on Rails app in 48 hours with us.

Beginner Bounties

Help Junior developers get hired by sharing small projects to build their resume with paid work.

Ruby on Rails Job Board

Find your next Ruby on Rails Job.

Pricing
Log In Sign Up
21m

Refactoring Rubocop GitHub Action

Dec 16, 2019 Pro

Today we're refactoring Andrew Mason's GitHub Action that runs Rubocop against your repository. We'll pull out some concepts, remove conditionals, and use several other techniques to clean up the code.

1
11m

Ruby Module Include Tracking

Apr 19, 2020 Pro

Sometimes you might want to keep track of all classes a module was included in. We can do that with a couple nifty tricks to make this work with both regular Ruby modules and Rails concerns.

7
8m

Wrapping Exceptions in Ruby

Mar 31, 2021 Pro

Sometimes you may need to wrap and reraise an exception. Ruby 2.1+ makes this easy by letting us raise a new error, pass in the old one, and automatically assigns the exceptions "cause" which is the original exception.

3
28m

HTTP Server in Ruby from Scratch

Jul 13, 2021 Pro

Ever wondered how Puma, Unicorn, or other Ruby HTTP servers work? We'll build one from scratch with pure Ruby so you can see exactly how it works.

5
20m

HTTP Server from Scratch: Rack & Rails Support

Jul 20, 2021 Pro

Last episode, we built a multi-threaded HTTP server from scratch using Ruby. This week, we'll enhance our web server by adding Rack and Rails support.

3
18m

Transforming JSON responses to Ruby objects with OpenStruct

Aug 24, 2021 Pro

When you receive a JSON response from an API endpoint, it's really easy to convert this to a Ruby hash. But hashes don't feel very Ruby-ish when you're working with them and you can't add methods and treat them like objects.

4
16m

Mapping API Resources & Handling Pagination

Aug 31, 2021 Pro

The core of an API wrapper Rubygem is defining the Resource endpoints so developers can make requests cleanly. We'll also learn how to handle pagination for endpoints that return a list of results.

3
11m

API CRUD Actions

Sep 07, 2021 Pro

The core of any API wrapper is the actions for create, read, update, and delete. We'll implement the CRUD for a resource so you can see how to do it and wire up everything together that we've built so far.

4
25m

Testing API Requests

Sep 14, 2021 Pro

How do we test API requests in a Rubygem to make sure that we're integrating correctly with our backend? We'll learn how to use stubs to fake out the request and test our code without any network requests.

1
21m

Code Review: Refactoring the Receipts gem for Composability

Feb 27, 2022 Pro

Designing code for composability allows you to make code more testable, flexible, and easier to adapt in the long term. We'll look at how I recently refactored the Receipts gem so that you can easily customize receipts and still use built-in components.

2
8m

How to use "ensure" in Ruby

Mar 14, 2022 Pro

Using ensure with blocks is extremely helpful for cleaning up things. We'll learn how to use ensure in Ruby for cleaning up open files as well as temporarily changing values for requests or test stubs.

4
15m

Eigenclasses

May 30, 2022 Pro

In this episode, we will be looking into Ruby's eigenclasses or singleton classes. We will first look at singleton methods and then how we can access the eigenclasses of objects.

11
15m

Error Handling Ergonomics in Noticed

Oct 03, 2022 Pro

Errors can come up in many different ways. This episode, we'll look at how we can improve error handling in the noticed gem to cleanly handle issues with ActiveRecord without negatively affecting

0
14m

The Ruby Subscript Operator

Jan 09, 2023 Pro

Rails uses the Ruby subscript operator to implement versioning with ActiveRecord Migrations. We'll learn how this works and implement it from scratch to see how it all ties together

6
32m

Net Http API Client from Scratch

Feb 20, 2023 Pro

In this episode we will look at using Ruby's built-in Net::HTTP class to build API clients for making http requests.

8
15m

Decorating with SimpleDelegator and Modules

Apr 10, 2023 Pro

We look at using the built in SimpleDelegator class to easily create decorators for objects.

5
13m

The Behaviors Of Super

Oct 13, 2023 Pro

In this lesson, we will look at the various ways we can use the super keyword in Ruby in regard to forwarding method arguments to the equivalent method in a parent class.

2
8m

Linux Signal Trapping in Ruby

Dec 11, 2023 Pro

Catching signals from the operating system like Ctrl-C can be very useful for safely shutting down your Ruby process. In this lesson, we'll see how the Rails server catches Ctrl-C and gracefully shuts down.

0
16m

Scraping Web Pages with Ruby

Feb 26, 2024 Pro

Kicking off our Web Scraper series, we start out with the bread and butter: scraping web pages with Ruby and Nokogiri.

2
14m

Refactoring with Enumerable partition

Jun 10, 2024 Pro

In this lesson, we will look at how to clean up code that iterates over a collection twice to separate the elements out to only doing so once while achieving the same result by leveraging the partition method from Ruby's Enumerable module.

0
<12>
Filter By
All Episodes Free Episodes Pro Episodes
Sort By
Published Date Popularity
Categories
ActionCable ActionMailbox ActionText ActiveJob ActiveModel ActiveRecord ActiveStorage ActiveSupport Administration APIs Authentication Authorization Background Jobs Basics Caching Code Organization Code Review Comments Complete App Concerns Controllers Credentials CSS CSV Debugging Deployment Design Patterns Development Docker Emails Ember Errors File Uploading Fixtures Forms Frontend Gems Generators Geocoding Helpers Hotwire Internationalization iOS Javascript JavaScript Maps Messaging Metaprogramming Middleware Mobile Models Multitenancy Notifications OAuth Open Source Pagination Payments Performance Production Rack Rails 4.2 Rails 5.0 Rails 5.1 Rails 5.2 Rails 6 Rails 7 Rails 7.1 Rails 7.2 Rails 8 Rails Engines React Native Refactoring Routes Ruby Search Security Servers Sharing SQL Testing Timezones Turbo Turbolinks Upgrading Views VueJS Webhooks Webpacker

Learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more with GoRails tutorials.

Twitter GitHub

Solutions

  • Ruby on Rails Tutorials
  • Rails Learning Path
  • Rails Courses
  • Rails SaaS Template
  • Deploy Ruby on Rails
  • GoRails Open Source
  • Ruby on Rails Tools
  • Ruby on Rails Jobs

Support

  • Pricing
  • Teams
  • Testimonials
  • Help

Company

  • About Us
  • Blog
  • Remote Ruby Podcast

Legal

  • Privacy Policy
  • Terms of Service

© 2025 GoRails, LLC. All rights reserved.

Proudly built with Jumpstart and hosted with Hatchbox and DigitalOcean.