#​707 — June 13, 2024

Read on the Web

Together with  Makandra

Ruby Weekly

Ruby 3.3.3 Released — The latest production-happy release of Ruby is here with no new features, but several updates to important dependencies (e.g. RubyGems and REXML) and bug fixes. A safe and sensible update to hop on.

Takashi Kokubun

Matz Announces a Syntax Moratorium Until 3.4 — At the end of RubyKaigi, Matz announced that there would be no syntax changes (outside of bug fixes) until Ruby 3.4 is released later this year.

Yukihiro 'Matz' Matsumoto

Rails LTS by Makandra: Support for Old Rails Versions — Get support for old Rails versions with Rails LTS: Gem replacement, compatibility with modern Ruby versions and above all: peace of mind knowing your application is secure. We are Makandra: Rails experts since 2009 and Rails Foundation member!

Rails LTS by makandra sponsor

Let's Switch Ruby's Default Parser to Prism.. Eventually — Kevin Newton’s work on the Prism Ruby parser has been hugely inspirational and it’s now a well-tested, portable, and ready for production project.. so should it become Ruby 3.4’s default parser? Not so fast, says Matz, who wants to ensure it’s well tested and meets his quality requirements first.

Kevin Newton and Matz

📄 Articles, Tutorials & Videos

Async Ruby on Rails — Ruby and Rails don’t operate asynchronously by default, but there are ways to add some async flavor to your apps, such as with the async reactor. Using async as well as other techniques to make your Rails apps a little smoother are shown off here.

Matheus Richard

Replacing System Tests with Unit Tests — After DHH declared ‘system tests have failed’, is it time to delete them all? Probably not! But replacing some system tests with unit tests isn’t a bad idea.

Aaron Sumner

On Heroku? Read Our Ultimate Guide to Autoscaling — Learn the ups and downs 😎 of autoscaling in our illustrated guide. (TLDR: Don’t use Heroku’s autoscaler!)

Judoscale sponsor

Adding GPT-4o to a Rails 7 App with Turbo Streams — It’s a pretty straightforward integration and Turbo Streams can help you maintain the ChatGPT streaming text vibe.

Luigi Rojas

📄 Upgrading a Rails 6.1 App to Rails 7.0 – More detail than you might expect. Stefanni Brasil

📄 Implementing Dark Mode with Tailwind and Stimulus Josef Strzibny

📺 How DragonRuby Lets You Move Faster Than Any Other Game Engine Game Engineering Podcast

📄 Understanding Kamal's Healthcheck Settings Josef Strzibny

📄 How to Disable Rails Forms' .field_with_errors Rails Designer

🎧 Ruminating on Ruby Enumerators The Bike Shed Podcast

🛠 Code & Tools

RBS::Inline: Write RBS Type Declarations Inline — If the idea of writing type annotations (as supported by RBS in Ruby 3.0+) interests you but writing separate RBS files seems clunky, this could provide you with another option.

Soutaro Matsumoto

RSpec::Wait 1.0: Wait for Conditions in RSpec — More easily test asynchronous or slow interactions by, well, waiting.

Steve Richert

Stale Thinking Causes Teams to Thrash—You Need a Breath of Fresh Air ☀️ — Get fresh perspective from product managers who’ve been-there-done-that across tons of domains, use cases, and problems.

Test Double sponsor

GemUpdater 7.2: Update Gems in Your Gemfile and Fetch Their Changelogs — The idea is that you don’t just want to update gems en masse, you want to know how they changed too. Now with Ruby 3.3 support.

Maxime Demolin

Timecop: The Time Travel/Time Freezing Library — Provides a unified method to mock Time.now, Date.today, DateTime.now, and Process.clock_gettime in a single call.

Jeffery and Trupianob

Administrate: A Rails Engine for Building Flexible Admin Dashboards — Automatically generate admin dashboards to enable users to edit data for any model in a Rails app. There’s a demo here. (GitHub repo.)

thoughtbot, inc.