Short Ruby Newsletter - edition 139

The one where Hanami starts a funding campaign, where Ruby committers discuss renaming Namespace and where Zeitwerk reached 500 million downloads

In partnership with

Table of Contents

(ad)

Learn AI in 5 minutes a day

What’s the secret to staying ahead of the curve in the world of AI? Information. Luckily, you can join 1,000,000+ early adopters reading The Rundown AI β€” the free newsletter that makes you smarter on AI with just a 5-minute read per day.

πŸš€ Launches and discounts

πŸš€ Sandi Metz announced a special birthday celebration sale, offering significant discounts on her popular POOD-I course and 99 Bottles of OOP book. Hurry up and take advantage of this opportunity β†’ https://sandimetz.com/birthday

πŸš€ Hanami launched a campaign to get funding for Hanami, Dry and Rom. Read the article and see if you can contribute to Hanami efforts to keep going:

πŸš€ NicolΓ‘s GaldΓ‘mez launched an product to help spinning Kamal configurations with ease β†’ Kamalify

πŸš€ RoRvsWild launched Read The Nice Manual, a new approach of reading documentation for Ruby, Rails and other gems. Here is also a blog post for this launch which is recommended to check it out: Read The Nice Manual. If you’re interested in contributing to this project, here is your chance to do it β†’ rorvswild-theme-rdoc

πŸš€ Brad Gessler announced pre-order for his new course β†’ Phlex on Rails

πŸš€ Bilal made a debugging tool for parsing Rails logs. For those who might be interested in this, he offer early-access to this app β†’ Logman - Rails log debugging made easier

Source: @bilal.dev

πŸš€ Mehdi Farsi launched Cash Contest - β€œLearn proven online income skills, land paying clients, and compete with members to improve, with quick answers in our private forum.β€œ

πŸ“… Events

πŸ“… Ruby Europe announced a new meetup which will happen on June 24, Berlin. Hurry up and register here β†’ Ruby + AI Meetup

Source: @RubyEurope

πŸ“… Irina Nazarova announced CFP are open for San Francisco Ruby Conference

Source: @inazarova

πŸ“ Submit your application right here β†’ Call for Proposals SF Ruby

πŸ“… Euruko shared they're creating something special for this year's event β†’ https://2025.euruko.org

Source: @euruko

πŸ‘‰ All about Code and Ruby

πŸ‘‰ Stack Overflow launched their new survey Not just a vibe, the Stack Overflow Developer Survey is really here. Take the survey here and help Ruby be more present in this survey:

(ad)

Unlock the Ultimate ChatGPT Toolkit

Struggling to leverage AI for real productivity gains? Mindstream has created a comprehensive ChatGPT bundle specifically for busy professionals.

Inside you'll find 5 battle-tested resources: decision frameworks, advanced prompt templates, and our exclusive 2025 AI implementation guide. These are the exact tools our 180,000+ subscribers use to automate tasks and streamline workflows.

Subscribe to our free daily AI newsletter and get immediate access to this high-value bundle.

πŸ’» Code Samples

οΈπŸ’» Hans Schnedlitz demonstrated how to build your own IRB commands

οΈοΈπŸ’» Yaroslav Shmarov shared a code sample with insights from building a screenshot generator

Source: @yarotheslav

Source: @yarotheslav

οΈπŸ’» Rosa Gutierrez posted a code snippet about Range#overlap? method

Source: @rosa.codes

οΈπŸ’» James Kerr shared a helper method for finding the number of days in a date range

Marco joined with a simple and clean approach for solving this problem πŸ’‘ 

Source: @marcoroth_

οΈπŸ’» Ismael Celis shared a code snippet with some API endpoints using Ruby Rack router

οΈπŸ’» Zeke Gabrielse shared a code snippet about how to safely add a NOT NULL column constraint to a large table

Source: @_m27e

Source: @_m27e

οΈπŸ’» Devin Starks shared an interesting tip for displaying field-specific error messages

οΈπŸ’» Brad Gessler shared a solution for a Turbo bug he ran into

Source: @bradgessler

Source: @bradgessler

οΈπŸ’» Hans Schnedlitz shared a code snippet about Bundler inline

Source: @hschnedlitz

Source: @hschnedlitz

οΈπŸ’» Ruby Cademy demonstrated how to use β€˜ActiveRecord::SpawnMethod#merge’ to intersect relations and simplify complex Rails queries

Source: @RubyCademy

οΈπŸ’» Joey Wang shared a code snippet about monkey-patching ActiveRecord's PostgreSQL adapter

Source: @alazycoder2

οΈπŸ’» Ruby Cademy posted a code snippet with a nice usage of case/when

Source: @RubyCademy

πŸ’» Hans Schnedlitz shared an interesting Neovim configuration for switching between StandardRB and RuboCop

Source: @hschnedlitz

Source: @hschnedlitz

πŸ“ Thinking about Code Design

πŸ“οΈ Hans Schnedlitz showed how running β€œrails stats” provides statistics about your project

Source: @hschnedlitz

Source: @hschnedlitz

His community replied with their statistics πŸ“ˆ 

Source: @seuross

Source: @bsilva96

Source: @acetinick

οΈπŸ“ Charles Oliver Nutter implemented a optimization for JRuby

Source: @headius

οΈπŸ“ Joel Drapper demonstrated how to see your literal property type signatures on hover

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

πŸ’‘ Xavier Noria celebrated an amazing milestone, 500 million downloads for Zeitwerk πŸ₯³ 

πŸ’‘Jorge Manrubia shared what editor they are using to build the next ActionText

Source: @jorgemanru

πŸ’‘ Josh Pigford asked his community for Rails + Postgres app deployment solutions

Source: @Shpigford

His community replied with the following:

Source: @EngMarketer

Source: @aviflombaum

This is an interesting one πŸ€– 

Source: @newdogcow

Here are other solutions mentioned in this post:

πŸ’‘ Max Bernstein shared an amazing achievement, he is now a Ruby committer πŸ₯³ 

Source: @tekknolagi

πŸ’‘ Ruby On Rails announced a new documentation PR is ready for community review. The PR can be seen here β†’ [RF-DOCS] Move PostgreSQL Guide into the API and other guides

Source: @rails

πŸ’‘ Josef Strzibny shared his database survey results, revealing strong demand for SQLite with Kamal

Source: @strzibnyj

❀️ Why Choose Ruby and Rails

❀️ Judge.Me posted their appreciation for Rails. Judge.me is now the newest Core member of the Rails Foundation πŸš€ 

❀️ Steven Gharms published an article about Ruby Gem Naming: The Art of Delightful Obscurity

❀️ Ruby Central published a new article about Company Spotlight: How Persona Scales High-Stakes Identity Systems With Rails

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Thomas Leitner made a new gem β†’ versadok - β€œVersatile document creation markup and libraryβ€œ

πŸ†• Ebi You announced a new gem β†’ flow_chat - β€œRails Framework for building conversational interfaces on USSD and WhatsApp with interactive flowsβ€œ

πŸ†• Alex Larra published a new gem internator - "Internator is a Ruby-based CLI tool that automates iterative pull request improvements using OpenAI's Codex. It cycles through objectives, makes incremental changes, automatically commits and pushes each update, and optionally waits between iterations."

🧰 Updates

🧰 Avo announced a new release v3.21.0. For more details of this release, we recommend to check out this blog post β†’ v3.21.0 - A few enhancements, bugfixes and new Avo 4 experiments

🧰 Carmine Paolino announced a new version of ruby_llm - β€œStop juggling AI SDKs! RubyLLM offers one delightful Ruby interface for OpenAI, Anthropic, Gemini, Bedrock, OpenRouter, DeepSeek, Ollama & compatible APIs. Chat, Vision, Audio, PDF, Images, Embeddings, Tools, Streaming & Rails integrationβ€œ. He also wrote a blog about this release in case you want to get more information β†’ RubyLLM 1.3.0: Just When You Thought the Developer Experience Couldn't Get Any Better πŸŽ‰

🧰 Stephen Margheim announced an update for chaotic_job - β€œπŸ‘Ύ Resilience test helpers for Active Jobβ€œ

🧰 Mario Alberto ChΓ‘vez announced a new version of rails-mcp-server - β€œA Ruby gem implementation of a Model Context Protocol (MCP) server for Rails projects. This server allows LLMs (Large Language Models) to interact with Rails projects through the Model Context Protocolβ€œ. For this release, is available a blog with more in-depth details which is worth checking out β†’ Rails MCP Server: Enhanced Documentation Access

🧰 Stephen Margheim announced a new version for litestream-ruby - β€œLitestream is a standalone streaming replication tool for SQLite. This gem provides a Ruby interface to Litestream.β€œ

️🧰 Joel Drapper released a new version of literal - β€œLiteral provides a set of tools to help you write more expressive, confident Ruby, reduce your error rate and get more mileage out of your existing tests by validating inputβ€œ

🀝 Nate Hopkins shared his perspective about microservices and complex enterprise solutions

Source: @hopsoft

🀝 Chris Blunt shared a code sample about using β€˜!overrideβ€˜ modifier in Docker Compose files

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

πŸ—ž Newsletters

πŸ—ž Rails published a new edition of their newsletter β†’ Improving Rails 8 week after week

πŸ—ž Ruby Weekly published a new article about Benchmarking common Ruby and Rack servers

πŸ—ž Ruby Central published a new edition of their newsletter β†’ The Ruby Central README: May 2025

πŸ—ž Women On Rails Newsletter - International Version published a new edition about Newsletter WoR #62: building a website without a framework, managing your manager, CSS carousels...

πŸ—ž Awesome Ruby Newsletter published a new edition about Issue 472 - BASIC interpreter in Ruby

πŸ—ž AnyCable published a new edition about Any Cables Monthly #29: Laravel Cable

🎧 Podcasts

🎧 Code and the Coding Coders who Code it published a new podcast episode β†’ Episode 51 - Chris Oliver

🎧 Brendan Buckingham published a new podcast episode β†’ Rails Business - Adrian Marin of Avo

πŸŽ₯ Videos

πŸŽ₯ Chris Oliver published new videos:

πŸŽ₯ Irina Nazarova shared a new video β†’ SF Ruby Meetup at Chime, June 4, 2025

πŸŽ₯ Joe Masilotti published a new video β†’ Hotwire Native Live episode #2

πŸŽ₯ Dave Kimura published a new video β†’ Episode 513 - Kamal 2 in Github Actions | Drifting Ruby

✍🏾 Articles

What’s new πŸ†•

πŸ†• Ruby on Rails published a new article about Judge.me joins the Rails Foundation as a new Core member

πŸ†• Peter Zhu published a new article about Implementing Embedded TypedData Objects

πŸ†• Kirill Boychenko published a new article about Malicious Ruby Gems Exfiltrate Telegram Tokens and Messages Following Vietnam Ban

πŸ†• Amanda Bizzinotto published a new article about Implementing Semantic Search with Sequel and pgvector

πŸ†• Akshay Khot published a new article about Understanding the Render Method in Rails and about Redirects in Rails: Manual, Helper, and Internals

πŸ†• Ruby Central published a new article about Company Spotlight: How Persona Scales High-Stakes Identity Systems With Rails

πŸ†• Vishnu M published a new article about Understanding Queueing Theory

πŸ†• Edy Silva published a new article about What It Takes To Foster A Community Around Rails

πŸ†• Avo published a new article about Cloudflare Turnstile for spam prevention in Rails

πŸ†• Harrison Broadbent published a new article about Our production Ruby on Rails stack

πŸ†• Alexey Varfolomeev published a new article about What’s Next for RubyMine

πŸ†• Kevin Sylvestre published a new article about Exploring Common AI Patterns with Ruby

πŸ†• Daniela Baron published a new article about The Machines Finally Made Us Care About Documentation

How-TOs πŸ“

πŸ†• Dom Christie published a new article about Custom Path Configuration Properties in Hotwire Native iOS

Reply

or to participate.