How to build a complete, real-world application from scratch with Ruby on Rails step by step.
A lot of Ruby code is "magic". We'll explain the magic and see how it works using the powerful tools Ruby gives us.
Accept subscription and one-time payments with Stripe in your Rails apps
Expert advice on keeping Rails apps organized and fast.
Cheap, easy hosting for Ruby and Rails apps.
Launch your product business way faster with our SaaS template.
A weekly podcast on web development and building products with Ruby, Rails, Javascript, and more.
A few of the Open Source projects we do at GoRails.
Build a Ruby on Rails app in 48 hours with us.
Help Junior developers get hired by sharing small projects to build their resume with paid work.
Find your next Ruby on Rails Job.
Learn how to enable the experimental new Just-in-time compiler for Ruby 2.6
Ever wondered what the difference between Symbols and Strings were? Why would we use one over the other when most languages only have strings?
Learn how to remove conditionals and make your code simpler and more reliable using Ruby and ActiveSupport's Array wrap methods
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
In this video, we will look at how to use blocks and bindings in Ruby to pass local variables across different scopes.
In this video, we will explore how the concepts we looked at in "Flattening Scopes in Ruby" are used in Rails by taking a look at the assert_difference method. We will walk through how the method works while taking note of where the concepts are applied.
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.
Learn how to use a PMS5003 air quality sensor with Ruby on the Raspberry Pi. We'll use this to monitor air quality and gather data.
MQTT is a message protocol for Internet of Things devices. It's very similar to pubsub where you can broadcast and subscribe to different topics. Learn how to send messages to an MQTT broker in this tutorial.
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
Join 87,563+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.