- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 119
Short Ruby Newsletter - edition 119
The one edition where Active Record Search is announced along with Ruby 3.3.7

Table of Contents
(promo)
Special Offer: 50% OFF Full Stack Rails Mastery Video Course
Master Rails in 2025 with this comprehensive video course to get a better job or build your own startup. Itβs a hands-on course where youβll build an ecommerce marketplace app with step-by-step lessons and challenges:
β Rails backend and frontend
β Compatible with Rails 7 & 8
β Hotwire, Stimulus, Turbo
β Payments with Stripe including Subscription
β Background jobs with Solid Queue and Sidekiq
β Automated testing with Minitest, Capybara and Selenium
β Access to full source code
β Lifetime access
Hereβs a special offer for Short Ruby Readers:
π Launches and discounts
π Kasper Timm Hansen announced an workshop about Guiding You through the Rails Source

Source: @kaspth.bsky.social
π Kyrylo Silin launched WeUseRails - Discover web apps built with Ruby on Rails
π PaweΕ DΔ browski shared the waitlist for his new book High-Performance Active Record

Source: @pdabrowski6
π RailsDesigner launched a new project https://railsstats.com (read there the launch article - Introducing Rails Stats)

Visit https://railsstats.com
π Rich Steinmetz is looking for people to do Tandem coding for side projects

Source: @RichStoneIO
π Events
π Arkency launched a new workshop βFrom React to Hotwire An Unexpected Journeyβ

Source: arkency.com
π Rails Camp Usa registration is live! Get your early bird tickets now.
π Checkout the list of events happening this week at https://rubyconferences.org/meetups where you can also see the upcoming conferences and open CFPs.

Source: https://rubyconferences.org/cfp/
π All about Code and Ruby
π Jorge Manrubia announced they are working Active Record Search at 37Signals part of a new project they are preparing:

Source: @jorgemanru
π Takashi Kokubun announced a new version of Ruby 3.3.7 Released

Source: @k0kubun
π Victor Shepelev published at the beginning of this month the Ruby 3.4 Changes - a great review of what changed in Ruby 3.4 with good examples and references to Ruby tracker. I strongly recommend reading this to get updated with the most significant changes happening in Ruby 3.4.
He also published an article about the process to create this Ruby changes β The short outburst of activity during Ruby Changelog preparationβ2025 edition
He published a thread with his most important articles from 2024 about Ruby:

Source: @zverok.bsky.social
π Jean Boussier published the last article in his series about ruby/json optimization. I recommend reading all of them. They are a great read and you will learn a ton about Ruby and optimisations and how to approach this kind of task:

Source: @byroot.bsky.social
π» Code Samples
οΈπ» οΈRuby Cademy shared a code sample on how to use in? predicate outside of arrays

Source: @RubyCademy
π» Jean Boussier shared a benchmark about performance difference between directly calling a method and using send
:

Source gist.github.com/byroot

Source gist.github.com/byroot
Benoit Daloze added benchmarks for TruffleRuby:

Source: gist.github.com/byroot
π» Gregory Brown shared a riddle asking what improvement can be added at line 20:

Source: @skillstopractice.com

Source: @skillstopractice.com
π» Prem Sichanugrist shared about how using if/then
when the if
has multi-line conditions looks better:
π» οΈJonathan Frias shared a tip on why to prefer subqueries over joins in scopes

Source: @jonathanfrias99
οΈRobert Peralta added:

Source: @RobertPeraltaB
οΈπ» Brad Gessler discusses when to not use βitβ which os introduced in Ruby 3.4

Source: @bradgessler
Victor Shepelev added:

Source: @zverok.bsky.social
οΈπ» Ruby Cademy shared a tip on Railsβ added support for SQL column aliases using hashes in select
!

Source: @RubyCademy
οΈπ» PaweΕ DΔ browski shared a rails console trick to check method source

Source: @pdabrowski6
οΈπ» Karol BΔ k shared a tip to reduce test suite execution time

Source: @kukicola
οΈπ» Ruby Cademy shared how to setup βapβ as default IRB renderer

Source: @RubyCademy
(ad)
Drowning In Support Tickets? Maven AGI is here to help.
Maven AGI platform simplifies customer service by unifying systems, improving with every interaction, and automating up to 93% of responses. Seamlessly integrated with 50+ tools like Salesforce, Freshdesk, and Zendesk, Maven can deploy AI agents across multiple channelsβtext, email, web, voice, and appsβwithin days. Companies like Tripadvisor, ClickUp, and Rho slash response times by 60%, ensuring quicker support and exceptional customer satisfaction. Donβt let support tickets slow you down
π» David shared a code sample on token_list helper

Source: @dcyoung.dev
π» Ufuk Kayserilioglu shared a code sample about ruby autosplatting of block arguments
οΈπ» Matt Swanson shared an insight from reading the Campsite code:

Source: @_swanson
π Thinking about Code Design
οΈποΈ Gavin Morrice talks about how code that relies on service objects usually has tight coupling between two architectural layers.

Source: @MorriceGavin
οΈπ Nate Berkopec shared about SPAs vs Turbo/HTMX:

Source: @nateberkopec
οΈπ Matt Swanson discusses the challenges and potential pitfalls in implementing a feature to "resend an invite if not accepted after one week.

Source: @_swanson
π Sulman Baig shared a thread about Rails 8 CRUD development. I added here just the beginning of that thread:

Source: @sulmanweb.com
οΈπ Paul Kim asked about experience with Hotwire:

Source: @pkayokay
Here are some replies:

Source: @WickNarwick

Source: @markahesketh

Source: @ffaebi

Source: @robzolkos

Source: @APIguy

Source: @lreszke
π‘Around code (news, findings, books, and more - all about Ruby)
π‘ Matheus Richard reminded us about For a Good Strftime | Easy Skeezy Ruby Date/Time Formatting

Source: https://foragoodstrftime.com
π‘ Maciej Mensfeld shared a rails update that eliminate allocations on Model.respond_to? calls

Source: @maciejmensfeld
π‘ Paul Kim asked about recommendation for gems:

Source: @pkayokay
Here are some recommendations:
active_link_to - "Helpful method when you need to add some logic that figures out if the link (or more often navigation item) is selected based on the current page or other arbitrary condition"
avo - "Avo is a very custom Content Management System for Ruby on Rails that saves engineers and teams months of development time by building user interfaces and logic using configuration rather than traditional coding; When configuration is not enough, you can fallback to familiar Ruby on Rails code."
brakeman - "Brakeman detects security vulnerabilities in Ruby on Rails applications via static analysis."
bundler-audit - "bundler-audit provides patch-level verification for Bundled apps."
database_consistency - "Provide an easy way to check the consistency of the database constraints with the application validations."
devise - "Flexible authentication solution for Rails with Warden"
erb_lint - "ERB Linter tool."
fancy_irb - "A fancy IRB has rocket-style #=> return values and colorful prompts and streams."
friendly_id - "FriendlyId is the "Swiss Army bulldozer" of slugging and permalink plugins for Active Record. It lets you create pretty URLs and work with human-friendly strings as if they were numeric ids."
good_job - "A multithreaded, Postgres-based ActiveJob backend for Ruby on Rails"
hotwire_combobox - "An accessible autocomplete for Ruby on Rails apps using Hotwire."
hotwire-spark - "A live reloading system that updates just what's needed to offer a smooth experience."
inline_svg - "Get an SVG into your view and then style it with CSS."
interactor - "Interactor provides a common interface for performing complex user interactions."
local_time - "Rails engine for cache-friendly, client-side local time"
meta-tags - "Search Engine Optimization (SEO) plugin for Ruby on Rails applications."
minitest - "minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking"
nocheckout - "Rails controllers for Stripe Checkout Sessions and Webhooks"
nopassword - "NoPassword is a toolkit that makes it easy to implement temporary, secure login codes initiated from peoples' web browsers so they can login to Rails applications via email, SMS, CLI, QR Codes, or any other side-channel."
og - "Object Graph (Og) is a state of the art ORM system. Og serializes standard Ruby objects to Mysql, Postgres, Sqlite, KirbyBase, Filesystem and more."
omniauth-oauth2 - "An abstract OAuth2 strategy for OmniAuth."
overmind - "Overmind is a process manager for Procfile-based applications and tmux."
pagy - "Agnostic pagination in plain ruby. It does it all. Better."
phlex - "A high-performance view framework optimised for fun."
pundit - "Object oriented authorization for Rails applications"
ransack - "Ransack is the successor to the MetaSearch gem. It improves and expands upon MetaSearch's functionality, but does not have a 100%-compatible API."
strong_migrations - "Catch unsafe migrations in development"
stylecheck - "Runs code style check on Ruby and SCSS files."
superform - "A better way to customize and build forms for your Rails application"
superview - "Build Rails applications entirely out of Phlex components."
view_component - "A framework for building reusable, testable & encapsulated view components in Ruby on Rails."
β€οΈ Why Choose Ruby and Rails
β€οΈ Chime into what Kelly Sutton has to say about his switch from React to Stimulus

Source: @KellySutton
β€οΈ Avi Flombaum shared about using Rails instead of other external services:

Source: @aviflombaum
π§° Gems, Libraries, Tools and Updates
π New Gems and Repos
π Pedro Rolo announced a new gem active_module - Modules and Classes as first-class active record values
π Sawaid announced a new gem inertia-flow - Inertia Flow moves prop building from controllers folder to views folder keeping the controllers clean and slim
π Landon Gray announced a new repository from their AI training: ruby-ai-search-training

Source: @thedayisntgray.bsky.social
π Yudai Takada / Ydah announced a new gem redhound: Pure Ruby packet analyzer.

Source: https://github.com/ydah/redhound
π RΓ©my Hannequin a new gem Introducing Ephem - Compute astronomical ephemerides from NASA JPL Development Ephemerides
π Weston Ganger published a new gem called rails_local_analytics - Simple, performant, local analytics for Rails. Solves 95% of your needs until your ready to start taking analytics more seriously using another tool
π Brooke Kuhlmann published a new gem called initable - Initable provides automatic initialization of your objects by leveraging the same parameter structure as provided by Method#parameters while adhering to the Barewords pattern for scoping of attributes
π§° Updates
π§° Adrian Marin announced a that Avo passed over 1M downloads:

Source: @adrianthedev
π§° Ruby Gems announced a new version 3.6.3 Released
π§° Koichi Ito announced the release of RuboCop Rails 2.29.0

Source: @koic
π§° Jeremy Evans announced new version release Tilt 2.6.0

Source: @jeremyevans0
π§° Ryan Nystrom shared that the campsite codebase is now open source

Source: @_ryannystrom
π§° Jeremy Evans announced a new version of Roda 3.88.0 Released Β· jeremyevans/roda Β· Discussion #375 Β· GitHub

Source: @jeremyevans0
π§° Johny Ho announced the release of Superblue 1.0 - A productive library for Classic Rails, React and Redux

Source: @thoughtbot
π§° Kirill Platonov announced a new version of Release v2.0.0 Β· kirillplatonov/hotwire-livereload

Source: @kirplatonov
π§° Charles Oliver Nutter announced a new version of psych 5.2.3
π§° Brooke Kuhlmann updated milestones version 19.0.0
π€ Russ Olsen shared about explaining technical topics:

Source: @russolsen.bsky.social
π€ Andrew Atkinson shared a benchmark of using UUID v4 vs bigint:

Source: @andyatkinson.com
π€ Avi Flombaum talks about how AI would augment programmers, rather than replacing them

Source: @aviflombaum
π€ Ahmed Nadar shared a thread on weekly book club for Junior devs

Source: @ahmednadar
π€ Simon Chiu shared about building:

Source: @geetfun.com
Dominik Sumer added:

Source: @dominiksumer.com
More content: π π π§ π₯ βπΎ
Okura Masafumi shared their slides about Alba: Why, How and What's So Interesting
π Ruby On Rails published latest newsletter on Fresh Rails apps Dependabot updates reduced to weekly, and Auth generator gets a safer logout
π Ruby Weekly published a new article about All the language changes in Ruby 3.4
π Hotwire Weekly published a new article about Week 03 - Hotwire Webinar, Reflecting on React To Hotwire Migration, and more!
π Sajjad Umar published a new edition of their newsletter about Ruby on Rails β Jan 2025
π Awesome Ruby Newsletter published a new article about π Issue 452 - A simple trick to understand Rubyβs lazy enumerator
π§ Podcasts
π§ David Hill published a new episode about Ben Greenberg - Ode to RailsConf
π§ Jason Charnes, Chris Oliver, Andrew Mason published a new article about Inside Ruby 3.4
π½οΈ π₯ Videos
π₯ EuRuKo published the videos from 2024 EuRuKo Conference: Day 1, Day 2 and Day 3. You can also see them on RubyVideo
π₯ Drifting Ruby published a new video about ViewComponent
π₯ Malachi Rails published a new video about Rails 8 Course - Beginner to Intermediate
π₯ Chris Oliver published a new video on What can you expect from the new params.expect() in #Rails 8?
π₯ Yaroslav Shmarov published a new video about Global app settings with gem rails-settings-cached #224
π₯ Ruby Europe published a new video about Life beyond MVC: scaling Rails monolith for hundreds of developers - Genar Trias Ortis
π₯ Malachi Rails published a new video about How to Deploy Rails 8 with Kamal to Digitalocean
βπΎ Articles
Whatβs new π
Kelly Sutton published a new article about Moving on from React, a Year Later
Kevin Murphy published an article about What Is It (in Ruby 3.4)?
Scott Chacon published an article about Why is Git Autocorrect too fast for Formula One drivers?
Nithin Bekal published an article about What's new in Ruby 3.4
Justin Searls published an article A real-world example of a Mocktail test
Michiharu Ono published an article on When Controllers Take on Too Much Responsibility
Jean Boussier published an article about Optimizing Rubyβs JSON, Part 6 and Optimizing Rubyβs JSON, Part 7 finalising their series about optimizing Ruby JSON.
Avinash Joshi published an article about Implementing a Referral System in Rails
Exequiel Rozas published a new article about Better image placeholders with Blurhash in Active Storage - Avo
Prasanth Chaduvula published a new article Rails 8 Now Uses ISO 8601 Style Time For TimeWithZone#inspect
Maxime Chevalier-Boisvert published a new article about YJIT 3.4: Even Faster and More Memory-Efficient
James Hibbard published a new article about Useful things you can do with Rails console
Anna Zykova published an article about The RubyMine 2025.1 Early Access Program Is Open!
Sulman Baig published an article about Rails 8 CRUD: Modern Development Guide 2025
Ruby Central published a new article about Alpha-Omega Supports Ruby Centralβs Expansion of Open Source Leadership & Security
Saeloun Blog published a new article about Rails 8 Now Uses ISO 8601 Style Time For TimeWithZone#inspect.
PaweΕ Urbanek published an article about Lessons Learned Migrating my SAAS to Rails 8
Adam McCrea published a new article about Too Many Connections in PostgreSQL? How to Avoid This Common Error
PaweΕ DΔ browski published an article about Metaprogramming meets deterministic probability - under the hood of
DΓ©lon Newman published an article about ruby -run, again
Kallin Nagelberg published an article about Understanding Complexity Density: A New Approach with RuboCop
How-TOs π
Josef Strzibny published a new article about Adding button loader to Turbo-powered forms
Daniela Baron published an article about Datadog APM for Rails on Heroku
Avo for Ruby on Rails published a new article about Better image placeholders with blurhash in Active Storage
JoΓ«l Quenneville published a new article about How to infer the form method for custom objects in Rails
William Kennedy published a new article about Up and Running with Hotwire Native Android Part 4 - Bridge Components
Jonathan Rochkind published a new article about Using CloudFlare Turnstile to protect certain pages on a Rails app
Chetan Mittal published an article about How to Build a Progressive Web App with Ruby on Rails 8: A Complete Guide
Jon Sullivan published a new article about Guide to Twilio + OpenAI Realtime on Rails (Without Anycable)
Zeke Gabrielse published a new article about No calls
Ayush published an article about Upskilling as a professional programmer
Reply