- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 128
Short Ruby Newsletter - edition 128
The one where TruffleRuby 24.2 is released, JRuby 10 is getting close, a Rails MCP server is introduced, and where Stan Lo shows a Ruby MCP server powered by Ruby LSP

In partnership with
Table of Contents
(ad)
๐ If youโre running a small online business, stop scrollingโthis might be the most important thing you read today.
Your companyโs success comes down to one thing: talking to customers. Not just โsupportโโactual conversations that drive sales, retention, and product insights. But most help desk tools werenโt built for small, scrappy teams like yours. Theyโre expensive, clunky, and make it harder to justโฆ talk.
As a small team of six, we know the importance of customer conversations better than anyone. Thatโs why we built Jelly - an email inbox for your team. Itโs simple, delightful, and priced for small teams. Whether you call it customer support or just doing business, customer conversations decide whether your company survives. Jelly helps you get them right.
Use SHORTRUBY15
to get the 15% discount ๐
๐ Events
๐ Balkan Ruby announced full lineup on their current lineup balkanruby.com

Source: @balkanruby.bsky.social
๐ Baltic Ruby announced that tickets are now available for this year's event at balticruby.org โจ

Source: @balticruby.bsky.social
๐ Lukasz Reszke announced an interesting webinar about Rescuing Ruby on Rails Applications. If youโre interested, reserve your spot right here ๐ซ
๐ Ganesh K. announced a new event to bring together the community of Ruby developers from Nepal. Here you can join for more details โ Ruby on Rails Meetup

Source: @gkunwar1
๐ Brighton Ruby is set to happen on June 19th. Grab a ticket and do not miss this opportunity ๐๏ธ brightonruby.com

Source: @brightonruby
๐ All about Code and Ruby
๐ Ilya Bylich published a new comprehensive article about Ruby, Ractors, and Lock-Free Data Structures
๐ Truffle Ruby announced a new release TruffleRuby 24.2.0
๐ Charles Oliver Nutter shared that JRuby 10 is very close to being realeased

Source: @headius
๐ Jรดnatas Davi Paganini published Benchmarking Ruby ORMs
๐ป Code Samples
๏ธ๏ธ๐ป Joel Drapper shared his wish for cleaner function currying in Ruby, demonstrating an approach using functions that gradually build immutable structures

Source: @joel.drapper.me
๐ป Carmine Paolino demonstrated Ruby's concurrency capabilities by running parallel AI calls with RubyLLM and Async. If youโre curious, you can read more about RubyLLM here โจ

Source: @paolino
๐ป Lรกzaro Nixon shared a useful Hotwire pattern: create a submitter for each JavaScript event, connect it using a Stimulus controller, and update content with Turbo Streams:

Source: @lazaronixon

Source: @lazaronixon

Source: @lazaronixon

Source: @lazaronixon
๐ป Gregory Brown shared an interesting Ruby syntax quirk puts(1 if true)
raises a SyntaxError, while puts((1 if true))
works fine, despite appearing equivalent ๐ง

Source: @skillstopractice.com

Source: @skillstopractice.com
๐ป Evil Martians shared a new feature that allows adding user presence tracking to Hotwire apps with minimal code by using turbo-cable-presence-source and AnyCable

Source: @evilmartians
๐ป Hans Schnedlitz shared a code sample about pattern matching on Time โฐ

Source: @hschnedlitz
๏ธ๐ป Ruby Cademy shared how to scope Rails routes with dynamic parameters to capture locale information

Source: @RubyCademy
๏ธ๐ป Zeke Gabrielse expressed appreciation for modern Ruby, sharing code that elegantly handles user role synchronization with an identity provider

Source: @_m27e
๐ป Lucian Ghinda shared an in-depth exploration of implementing value objects in Ruby, covering immutability, Ractors, and pattern matching with the Data class. You can either check the full thread on Bluesky or the video version of it on YouTube

Source: @lucianghinda.com (check full thread)
๏ธ๐ป Scott Watermasysk shared a Ruby ActiveSupport tip: Date.current.all_week returns the full weekโs date range ๐๏ธ

Source: @scottw.com
๏ธ๐ป Josef Strzibny shared a code sample about interactive sessions with Kamal ๐ข

Source: @strzibnyj
๏ธ๐ป Bijan Rahnema suggested using Rails' message_verifier instead of storing login tokens in databases for better security and simplicity โ๏ธ

Source: @BijanRahnema

Source: @BijanRahnema
๐ป Zeke Gabrielse shared a common Rails quirk with session management that he previously documented on Stack Overflow ๐

Source: @_m27e
๏ธ๐ป Saeloun showed how to efficiently run bulk migrations in Rails using validate_check_constraint with the change_table method

Source: @HiSaeloun
๏ธ๐ป Xavier Noria shared an interesting Ruby hash behavior where hash[1.0] = 1 works, but hash[1] returns nil

Source: @fxn.bsky.social
๏ธ๐ป Angel shared a useful Rails tip: you can run bin/rails notes
to find all TODOs, FIXMEs, and other notes left in your code

Source: @angellozan.live
๐ป Bradley Schaefer shared an RSpec technique using compound expectations with the & operator to test multiple string conditions in a single assertion

Source: [email protected]
๏ธ๐ป Alex Yarotsky demonstrated a cleaner approach to column aliasing in ActiveRecord by using hash syntax instead of SQL fragments

Source: @AlexYarotsky
๏ธ๐ป Charles Oliver Nutter shared that Ruby 3.4 includes an error_highlight
gem for better error messages with code context, noting it's not yet compatible with JRuby but suggesting an approach to implement it

Source: @headius
๐ป Alex Yarotsky highlighted ActiveRecordโs .missing
method for easily finding records with missing relations

Source: @AlexYarotsky
๏ธ๐ป Ruby Cademy showcased using add_check_constraint in Rails migrations for database-level validation that prevents bad data from entering your system

Source: @RubyCademy
๏ธ๐ป Samuel Williams expressed surprise at discovering VNC sessions can be run through Falcon+WebSockets and even helped Cedric improve his code:

Source: @ioquatix
โก๏ธ Here is the final code sample of Cedric after the improvement
๏ธ๐ป Ruby Cademy highlighted Rails 8's new attribute_writer_missing feature that helps handle legacy field data when transitioning to new database structures

Source: @RubyCademy
๏ธ๐ป Adrien Siami shared an intriguing code sample about dynamically generating configuration methods, later following up with an explanation of how it works ๐ง

Source: @Intrepidd

Source: @Intrepidd
๏ธ๐ป Ruby Cademy highlighted a new feature in Rails 7.1 that shows source locations in rails routes --expanded
output, making it easier to find where each route is defined

Source: @RubyCademy
๐ Thinking about Code Design
๏ธ๐ Adam McCrea shared a cheatsheet for scaling Sidekiq with five key tips: use fewer queues, keep jobs small, balance concurrency settings, autoscale based on queue latency, and isolate resource-heavy jobs

Source: @adamlogic.com
๏ธ๐ Xavier Noria shared his first interaction with protected modifier in Ruby, using it for recursive tree traversal between class instances

Source: @fxn.bsky.social
Joel and Ismael responded with their own use cases for protected
modifier ๐ถ

Source: @joel.drapper.meโฌ

Source: @ismaelcelis.comโฌ
๏ธ๐ Jรดnatas Davi Paganini shared impressive benchmark results comparing Ruby ORMs, highlighting Sequel's significant performance advantages over ActiveRecord. You can go and read the full results on his blog post

Source: @jonatasdp
๐กAround code (news, findings, books, and more - all about Ruby)
๐ก Stan Lo demonstrated a proof of concept for a Ruby MCP server powered by Ruby LSP that integrates with the Cursor agent

Source: @st0012.dev
๐ก Ahmed Benh shared some insights about AI models for Ruby development. He also shared a blog post with more details about each AI model performance, which is worth checking out โ What are the best LLMs for Java, Go and Ruby ?

Source: @Ahmedbenh1
๐ก Mari Imaizumi announced becoming a Ruby committer, focusing on String, Encoding, and Regexp areas after previous work with IRB and Reline

Source: @ima1zumi
๐ก Rob Zolkos recommended a Cursor rule file for Rails projects from the MaybeFinance, where you can immediately check it out here ๐

Source: @robzolkos
โค๏ธ Why Choose Ruby and Rails
โค๏ธ Irina Nazarova noted that many top companies use Rails due to its advantages for rapid product development

Source: @inazarova
โค๏ธ Marco Roth highlighted the growth in tech conferences and meetups, noting that Ruby and Rails continue to be enjoyable to work with

Source: @marcoroth_
โค๏ธ Gabriel observed that Rails encourages product-focused thinking and simpler implementations compared to other frameworks

Source: @GabrielChuan
โค๏ธ Mathieu Bp expressed excitement about Rails 8 for app development and how RubyLLM will make building AI applications as straightforward as regular apps

Source: @_mathieubp
โค๏ธ Dimitri Bosch shared his love for Turbo, praising its impact on Rails development and hoping for future improvements

Source: @dimitribosch
๐งฐ Gems, Libraries, Tools and Updates
๐ New Gems and Repos
๐ Mario Alberto Chรกvez created Rails MCP Server, a tool that gives Claude AI direct access to Rails projects without manual code copying. He also shared a blog post with an in-depth explanation of this gem that's worth checking out โ Rails MCP Server blog ๐ค

Source: @mario_chavez
๐ Andy Maleh built a custom database GUI for his Ruby on Rails application to simplify SQL queries. Here you can try this gem โ db-gui

Source: @andymaleh.bsky.social
๐ Vishal Sadriya published a new gem solid_queue_monitor - A lightweight, zero-dependency web interface for monitoring Solid Queue jobs in Rails applications
๐งฐ Updates
๐งฐ Carmine Paolino announced a new version of ruby_llm ๐ค
๐งฐ Simon J released a new version of rblade - A simple, yet powerful templating engine for Ruby on Rails, inspired by Laravel Blade.
๐งฐ Andrei Kaleshka announced an update for actual_db_schema
๐ค Gregory Brown compares exception handling to electrical circuits, explaining how different error responses can either halt or signal issues in software operations

Source: @skillstopractice.com
๐ค Cat announced a major week for Claude Code, launching 8 new features to help developers build faster and smarter. Is highly recommend to check the full thread

Source: @_catwu (check full thread on X)
More content: ๐ ๐ ๐ง ๐ฅ โ๐พ
๐ Ruby Gems published a new update about February 2025 RubyGems Updates
๐ Ruby Weekly published a new article about Ruby debugging tips for 2025
๐ Hotwire Weekly published a new article about Week 12 - AnyCable 1.6 is here, Turbo declarative presence tracking, and more!
๐ Awesome Ruby Newsletter published a new article about ๐ Issue 461 - The Ultimate Guide to Scaling Sidekiq
๐ง Podcasts
๐ง IndieRails posted a new podcast Ben Curtis & Josh Wood - Kids These Days
๐ง Code and the Coding Coders who Code it published a new podcast Episode 48 - Adam Wathan
๐ง PragProg published a new podcast about Hotwire Native for Rails Developers with Joe Masilotti
๐ง The Bike Shed published a new episode about 457: Time Zones with Sally Hall
๐ง Rails Business Podcast published a new episode about Challenges in App Integration and Data Synchronization
๐ง Chris Oliver, Andrew Mason published a new article about Mac Upgrades to Debugging Dilemmas
๐ฅ Videos
๐ฅ Thoughtbot published a new video about Developing a voice AI app in Rails for drive-through ordering
๐ฅ Zhephyn published a new video from their new series Ruby Jr Dev Book Club - Chapters 15 -16
๐ฅ Jason Swett published a new video about Wrestling with a Tricky Domain Modeling Problem - Live Coding on SaturnCI
โ๐พ Articles
Whatโs new ๐
๐ Sean Goedecke published an article about The future of AI is Ruby on Rails
๐ Ilya Bylich published a new article about Ruby, Ractors, and Lock-Free Data Structures
๐ Elvinas Predkelis published a new article about Ruby on Rails + Active Storage: Migrating from AWS S3 to Cloudflare R2
๐ Rails Designer published a new article about JavaScript for Rails Developers is Coming Soon and about Translations in Stimulus Controllers
๐ Irina Nazarova and Vladimir Dementyev published a new article about Simple Declarative Presence for Hotwire apps with AnyCable
๐ Radan Skoric published a new article about Rails 8 Assets - Deep dive into Propshaft
๐ Reinteractive published a new article about Instant Rails Turbo Updates | Easy Live Pages
๐ Avo published a new article about Adding confetti to an app with stimulus-confetti
๐ Lucian Ghinda published a new article about How to create value objects in Ruby - the idiomatic way
๐ Louis Antonopoulos published a new articlea about content_for -- What is it good_for?
๐ Kuba Suder posted a new article about Speeding up the firehouse
๐ Jรดnatas Davi Paganini published a new blog Benchmarking Ruby ORMs
๐ Josef Strzibny shared a new article about Donโt skip authorization layer (and use Action Policy) and about Minitest vs RSpec for testing Rails applications and about Running interactive sessions with Kamal and about Running JavaScript after a Turbo Stream renders
๐ Jean Boussier published a new article about Database Protocols Are Underwhelming
๐ Richard Schneeman published a new article about Installing the sassc Ruby gem on a Mac. A debugging story
๐ Fritz Meissner published a new article about ActiveRecord query log tags for GraphQL
How-TOs ๐
Nikhil published an article about Embedded Ruby (ERB) 101: Beginnerโs Guide Dynamic Templating
Kevin Murphy published a new article about Preserving Flash Messages in Rails
โ๏ธ Codeminer42 posted a new blog about JavaScript Beginnerโs Guide
โ๏ธ Daniela Baron published an article about Cover Letter Writing for Nerds
Reply