Short Ruby Newsletter - edition 127

The one where Sidekiq 8 is launched, where Kasper Timm Hansen is announcing a new workshop about Action View and where Adam McCrea launches PaaS Pricing Calculator

In partnership with

Table of Contents

(ad)

πŸš€ Launches and discounts

πŸš€ Adam McCrea launched an exciting new tool for comparing hosting costs of web applications across multiple platforms, allowing for side-by-side price comparisons. If you are interested, you can try it right away πŸ₯³ β†’ PaaS Pricing Calculator

πŸš€ Chetan Mittal launched a new book Mastering Enums in Rails

You can also read the other online book they published Mastering Building PWA in Rails

πŸ“… Events

πŸ“… Kasper Timm Hansen announced an online event 🎫 If you want to participate, here is the link to this event: Action View-Source Deep-Dive

πŸ“… Ruby Central announced more details on RailsConf 2025 πŸŽ‰

πŸ“… Euruko announced the opening of their Call for Proposals for EuRuKo 2025

Source: @euruko

πŸ“… Irina Nazarova announced more news on SF Ruby Meetup πŸ”₯

Source: @inazarova

πŸ‘‰ All about Code and Ruby

πŸ‘‰ InfoSec reported critical vulnerabilities in the ruby-saml gem that allow attackers to bypass authentication, currently an update is available for this gem. If you are interested in finding more information about this vulnerability, InfoSec shared a detailed blog and you can check the ruby-saml release notes here. Github also published an article about this vulnereability. 

πŸ‘‰ Ruby on Rails announced a new release 8.0.2 πŸŽ‰. For more details, see the full changelog πŸ’ͺ

Source: @rails

πŸ‘‰ Esparta shared his experience of bundle being interrupted during dependency installation while upgrading to Ruby 3.4.x ‼️ This is a complex thread, you can read everything from it on Mastodon

πŸ‘‰ Matt Yoder shared a Ruby puzzle about string-freezing behavior 🧩

πŸ‘‰ Jochen Lillich shared his appreciation for Ruby's expressive syntax features

πŸ‘‰ Vladimir Dementyev showcased how easy it is to run Avo directly in the browser

Source: @palkan_tula

πŸ’» Code Samples

οΈοΈπŸ’» Peter Solnica shared his discovery that Ruby's byteslice method creates new string instances when operating on frozen empty strings

Source: @solnic.dev

οΈπŸ’» Adam McCrea shared some insights on configuring Rails for a platform like Heroku

Source: @adamlogic

οΈπŸ’» Graceful.Dev shared a trick about using filter and map together efficiently πŸ€”

οΈπŸ’» Michael Koper shared a security tip to prevent admin account password resets πŸ•΅οΈβ€β™‚οΈ

οΈπŸ’» David Heinemeier Hansson shared with amazement that Claude identified Rails' CONCERNS as the prettiest code in the Rails source 🀩

Source: @dhh

οΈπŸ’» Zeke Gabrielse shared code showing a Rails migration that consolidates multiple authentication error codes into a single CREDENTIALS_INVALID code πŸ§‘β€πŸ’»

Source: @_m27e

Source: @_m27e

οΈπŸ’» Thomas Leitner asked his community how to efficiently remove a specific number of trailing elements from an array without creating a new result array

Gregory Brown joined in and offered a solution

Source: @skillstopractice.com‬

Source: @skillstopractice.com‬

and Tomas went even further on this example by doing some performance benchmarks

Source: @gettalong.bsky.social‬

Source: @gettalong.bsky.social‬

Source: @gettalong.bsky.social‬

οΈπŸ’» Gregory Brown shared a code sample about Ruby exceptions

οΈπŸ’» Hans Schnedlitz shared a code sample about a feature from graphql-ruby πŸ“ˆ Here you can read more about this topic: Async Source Execution 🌏

Source: @hschnedlitz

οΈπŸ’» Yaroslav Shmarov shared a tip for access & edit Rails encrypted credential πŸ”

οΈπŸ’» Ruby Cademy highlighted Array#inquiry for writing more expressive code

Source: @RubyCademy

οΈπŸ’» Ismael Celis demonstrated the use of Plumb to decorate and validate third-party objects 🧐

οΈπŸ’» Ruby Cademy highlighted Rake's ability to run tasks in parallel using multitask

Source: @RubyCademy

οΈπŸ’» Alex Yarotsky highlighted the invert_where method in Active Record that lets you easily flip query conditions without rewriting them

πŸ“ Thinking about Code Design

οΈοΈπŸ“ Nate Berkopec shared advice on optimizing ActiveRecord database connections by using external poolers and a large pool setting

οΈπŸ“ Xavier Noria raised a question about Ruby's flat_map method, suggesting map_flat as a more intuitive alternative name. I recommend you to read the conversation on Bluesky as it is very intersting to discover how the developers think about the naming:

οΈπŸ“ Gregory Brown shared how searching an unexpected Socket::ResolutionError message from his RSS feed script immediately revealed the problem, despite not finding a detailed explanation

οΈπŸ“Xavier Noria questioned whether it's possible to write an atomic Hash#get_or_set method in Ruby using only GVL protection without C extensions

οΈπŸ“ JoΓ«l Quenneville shared some tips on testing, especially on Rails apps πŸ§ͺ

Source: @joelquen

οΈπŸ“ Ismael Celis shared how handy with(attribute: value) helper can be πŸ”

οΈπŸ“ Errol Schmidt shared their top 5 good and bad findings from Ruby on Rails app reviews based on production applications at reinteractive

πŸ‘ Top 5 Good section

πŸ‘Ž Top 5 Bad Section

πŸ’‘Around code (news, findings, books, and more - all about Ruby)

πŸ’‘ Donn Felker shared an interesting business opportunity ✨

Source: @donnfelker

πŸ’‘ Remi Mercier asked about questions that people have when starting to work with Minitest:

Here are some replies:

πŸ’‘ Lucian Ghinda highlighted an interesting aspect from an article about the future of Ruby in the AI era πŸ€–. Here you can read the article: Ruby's Renaissance in the AI Era

πŸ’‘ Sourav shared his experience learning Ruby on Rails from a React/Next.js background, posting a thread full of illustrations and examples worth reading on X

Source: @souravinsights (read the full thread)

Source: @souravinsights (read the full thread)

πŸ’‘ Greg Molnar shared an opportunity to get a free ticket to Friendly.rb

Source: @GregMolnar 

❀️ Why Choose Ruby and Rails

❀️ Radamés Roriz expressed his belief that Rails is the ideal platform for AI integration due to its stability

❀️ Irina Nazarova expressed a vision for the Rails + AI ecosystem where features available as paid cloud services in other frameworks would be free and open source

Source: @inazarova

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Carmine Paolino shared the release of a new gem RubyLLM. Here is also the article where the author of this gem, Carmine Paolino, talks about the usage of the RubyLLM: Introducing RubyLLM 1.0: A Beautiful Way to Work with AI. See also the Hacker News discussion here (650+ points, 165 comments)

πŸ†• Sean Gregory published a new gem Hokusai - A Ruby library for authoring GUI applications

πŸ†• Bruno announced a new gem Ruberto - A Ruby API wrapper for Uber

Source: @bradgessler

πŸ†• Tomasz Kowalewski published a gem memplify - Simplify memory profiling with memplify

🧰 Updates

🧰 Mike Perham :sidekiq: announced an update about Sidekiq. If you are interested, check the blog version of this release πŸ₯‹

🧰 Jorge Manrubia announced a new version of Trix

🧰 activeagents.ai announced a significant update to their gem with many improvements βœ¨For more details, you can visit the blog version of this release πŸ•΅οΈβ€β™‚οΈ

🧰 Bozhidar Batsov (a.k.a. Bug) announced an update on RuboCop πŸ€–

🧰 Jeremy Evans announced a new version of Roda 3.90.0

🧰 Brad Gessler announced a new version of Sitepress 4.0.6. You can try it right away, go on sitepress.cc for more details πŸ’ͺ

Source: @bradgessler

🧰 Camilo announced a new version of standard

🧰 Alex Rudall announced an update for ruby-openai v8🦾

🧰 Ruby Gems published a new edition 3.6.6 Released

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾

πŸ—ž Newsletters

πŸ—ž Ruby On Rails published a new edition about Ruby on Rails - Continuous integration at your fingertips

πŸ—ž Ruby Weekly published a new article about Sidekiq 8.0

πŸ—ž Awesome Ruby Newsletter published a new article about πŸ’Ž Issue 460 - Introducing Sidekiq 8.0

πŸ—ž Sajjad Umar published a new article about Ruby on Rails β€” March 2025

🎧 Podcasts

🎧 Jason Swett published a new podcast: Code with Jason: Databases at Scale with Prarthana

🎧 Chris Oliver and Andrew Mason published a new episode about Stripes Subscription Challenges

πŸŽ₯ Videos

πŸŽ₯ Zhephyn posted a new video Ruby Jr Developer Book Club - Chapters 13-14

πŸŽ₯ Arkency published a new video about Different flavours of events in your Ruby on Rails application

πŸŽ₯ Scott Werner published a new video about Const_missing

πŸŽ₯ Errol Schmidt published a new video about Monitor Real-Time Engagement via Heroku Connect & Agentforce

✍🏾 Articles

What’s new πŸ†•

πŸ†• Stan Lo posted a new article My Ruby Debugging Tips in 2025

πŸ†• Avo published a new article about Testing OmniAuth authentication

πŸ†• Scout Monitoring published a new article about Caching Strategies for Ultra-High Performance in Ruby on Rails, Part 1

πŸ†• Rails Designer published a new article about Limit Spam Sign Ups in Rails Apps and about Using the Keyboard with Stimulus

πŸ†• Jeffery Morhous published a new article about How to use Solid Cache in Rails

πŸ†• Benoit Daloze published a new article about Matching Regexps 200 Times Faster

πŸ†• Josef Strzibny published a new article about Predownloading embedding models in Rails with Kamal

πŸ†• Chetan Mittal posted a new article Integer Enums vs. String Enums in Rails: Which One Should You Use?

πŸ†• Louis Antonopoulos published a new article about Hotwire and That Syncing Feeling

πŸ†• Lukasz Reszke shared a new article Is your Rails application special?

πŸ†• Akshay Khot published a new article about Working with HTTP Responses in Rails

πŸ†• Andrey Eremin published a new article about Why Static Typing is Essential for Efficient Ruby and Rails Development

πŸ†• David Morales published a new article about ERB: Embedding Ruby in HTML

πŸ†• Josef Strzibny published a new article about Minitest vs RSpec for testing Rails applications

πŸ†• Kevin Murphy published a new article about Preserving Flash Messages in Rails

πŸ†• Rich Steinmetz published a new article about Rails 8 on Kamal example setup with Sidekiq, Redis and Postgres

πŸ†• Greg Molnar published a new article about Exploiting LLM tools and about Validating password strength

πŸ†• Benoit Daloze published a new article about Matching Regexps 200 Times Faster

πŸ†• TrΓ©sor Bireke published a new article about Finding the opposite of what you have with rails invert_where

πŸ†• Saeolun posted a new article about ActiveModel::Attributes::Normalization

πŸ†• Scott Werner published a new article about Const_missing and AI: A Ruby Metaprogramming Experiment

How-TOs πŸ“

πŸ“ Vini Oyama published a new article about Building a Multi-Page guided tour with Rails + Driver.js

πŸ“ Josh Branchaud posted a new article: Connect To Production Rails Console on AWS / Flightcontrol

πŸ“ Jeffery Morhous posted an article about How to use Solid Cache in Rails

πŸ“ Igor Alexandrov published a new article about Automate your builds with GitHub Actions

πŸ“ Reni Mercier published a new article about Speed up RSpec tests: understand lifecycle and execution

✍️ Andrey Sitnik published a new article about How to make your open source popular

✍️ Muhamed Isabegovic posted a new article: From zero to one: Thoughts on the past few years

✍️ Dave Thomas posted a new article about Agility On An Index Card

✍️ Lucian Ghinda published a new article about How to implement JSON-LD Schema for your blog

Reply

or to participate.