Short Ruby Newsletter - edition 141

The one where Marco Roth announced the Herb Language Server and where we discuss again about service objects

In partnership with

Table of Contents

(ad πŸ‘‡)

Learn AI in 5 minutes a day

This is the easiest way for a busy person wanting to learn AI in as little time as possible:

  1. Sign up for The Rundown AI newsletter

  2. They send you 5-minute email updates on the latest AI news and how to use it

  3. You learn how to become 2x more productive by leveraging AI

πŸš€ Launches and discounts

πŸš€ Pete Hawkins has announced that IdeaPilot is now live

πŸš€ Phil Smy launched Rails Rescue Audit - β€œUpload your Rails files and get instant feedbackβ€œ

Source: @psmy

πŸ“… Events

πŸ“… Euruko confirmed that β€œMatz”, Ruby's creator, will attend this year's event

Source: @euruko

Source: @euruko

πŸ“… Matias Korhonen has announced that the Call For Papers is now open for tiny ruby #{conf} 

πŸ“… Rails Conf announced a new round of open-source maintainers for Hack Spaces this year 

Source: @railsconf

πŸ‘‰ All about Code and Ruby

πŸ†• Marco Roth released Herb Language Server along a Visual Studio Code extension. He also wrote a blog post on this release that might be interesting for you to read β†’ Herb Language Server and Visual Studio Code Extension. If you want to download this extension, it is available here β†’ Herb LSP

Source: @marcoroth_

You can see in this video Marco shared an early version of the Herb formatter:

πŸ’‘ Jorge Manrubia shared some new features added to the editor he is working on for a while ✏️ 

Source: @jorgemanru

Source: @jorgemanru

Source: @jorgemanru

πŸ’» Code Samples

(ad πŸ‘‡)

Daily News for Curious Minds

Be the smartest person in the room by reading 1440! Dive into 1440, where 4 million Americans find their daily, fact-based news fix. We navigate through 100+ sources to deliver a comprehensive roundup from every corner of the internet – politics, global events, business, and culture, all in a quick, 5-minute newsletter. It's completely free and devoid of bias or political influence, ensuring you get the facts straight. Subscribe to 1440 today.

οΈοΈοΈπŸ’» Devin Starks shared a tip to annotate routes.rb in your project

οΈπŸ’» Ruby Cademy shared some insights on how to add database-level validation

Source: @RubyCademy

Source: @RubyCademy

οΈπŸ’» Chris Oliver shared a code sample about Rails authentication

Source: @excid3

οΈοΈπŸ’» Nate Hopkins shared how Ruby implicitly unpacks Array args in blocks

Source: @hopsoft

Source: @hopsoft

πŸ’» Joey Wang posted a trick for handling duplicate UUIDs

Source: @alazycoder2

Source: @alazycoder2

οΈπŸ’» Nate Hopkins shared a config trick for idiomatic modern formatting

Source: @hopsoft

οΈπŸ’» Ruby Cademy shared a code sample about a Rails 7.1 feature β†’ `config.autoload_lib(ignore:)`

Source: @RubyCademy

Source: @RubyCademy

οΈπŸ’» Stephen Margheim posted a code snippet with a feature from Acidic Job Pro

οΈπŸ’» Ruby Cademy shared how you can define Rails locales using a Ruby file instead of YAML

Source: @RubyCademy

οΈπŸ’» Devin Starks shared a code sample with ActiveRecord custom sorting using in_order_of

οΈπŸ’» Ruby Cademy shared an interesting usage of bundler inline mode

Source: @RubyCademy

πŸ“ Thinking about Code Design

οΈοΈπŸ“ Nate Berkopec shared an advice about Service Level Objectives

Source: @bradgessler

Michael Chaney replies with some insights on service objects

He got some replies:

Source: @ismasan

πŸ“ Postmodern discussed when NOT to convert Ruby methods to endless methods

He received some replies:

οΈπŸ“ Kieran Klaassen shared a Claude tip: use bundle show to read gem source code directly instead of relying on documentation

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

πŸ’‘ Ruby On Rails announced a new documentation PR β†’ [RF-DOCS] Rails Plugin

Source: @rails

πŸ’‘ Devin Starks asked his community about which option is better for authorization in Rails

He got some replies:

Source: @EngMarketer

action_policy - β€œAuthorization framework for Ruby/Rails applicationsβ€œ

Source: @dpaluy

Source: @coorasse

πŸ’‘ Robby Russell asked his community about memorable Ruby gems or blog posts that impressed them

He got some replies:

Source: @RubyCademy

Source: @GregMolnar

Source: @kyrylosilin

Here is a list of other resources picked from this post:

πŸ’‘ Kyrylo Silin announced a 100% discount on WeUseRails

Source: @kyrylosilin

πŸ’‘ Yatish Mehta shared an interesting idea to bring back Rails Rumble. If you really like this initiative and want to make it happen, write a message to Yatish right on this post πŸ‘ 

Source: @yatish_me

❀️ Why Choose Ruby and Rails

❀️ Avi Flombaum put into perspective how easy is to manage a project made with Rails compared with a fullstack JS/TS app

Source: @aviflombaum

Source: @aviflombaum

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Andres Chacon published a new gem oas_hanami - "OasHanami simplifies API documentation by automatically generating OpenAPI Specification (OAS 3.1) documents from your Hanami application routes. It eliminates the need for manual documentation, ensuring accuracy and consistency."

πŸ†• Joseph Schito published a new gem opal_stimulus - "Opal Stimulus provides a way to write Stimulus controllers in Ruby, leveraging the Opal compiler to convert Ruby code into JavaScript. This allows developers familiar with Ruby to use the Stimulus framework without needing to write JavaScript directly."

πŸ†• Brandon Hicks published a new gem called activerecord-duckdb - "Activerecord::Duckdb providers DuckDB database access for Ruby on Rails applications."

πŸ†• Burdette Lamar published a new gem webri - "Command-line utility for displaying Ruby online documentation"

πŸ†• JT Archie published a new gem called batchagg - "BatchAgg eliminates N+1 query problems when calculating counts, sums, averages, and other aggregates across associations by using correlated subqueries to fetch all aggregations in a single efficient database call."

🧰 Updates

🧰 Bozhidar Batsov (a.k.a. Bug) announced an update for rubocop - β€œA Ruby static code analyzer and formatter, based on the community Ruby style guide.β€œ

🧰 J Ruby Dev Team announced an update β†’ Update Ubuntu 2025-06-01

Source: @jruby

🧰 Charles Oliver Nutter has brought some updates on an older issue β†’ jruby installation broken since 0.17.3

Source: @headius

🧰 Julik Tarkhanov announced an update for stepper_motor - β€œIs a useful tool for running stepped or iterative workflows inside your Rails application.β€œ

Source: @juliknl

🧰 Brandon Shar announced new docs for using InertiaJS along Cursor or other AI coding agent β†’ intertia-rails.dev - llms-full.txt

Source: @brandonshar

🀝 Nate Hopkins shared a Claude Code cheat sheet for configuration files

Source: @hopsoft

🀝 Gavin Morrice shared an interesting fact about refactoring

🀝 Nate Berkopec highlighted an important aspect of open source software: the community itself is what brings value to the software

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

πŸ—ž Newsletters

πŸ—ž Ruby Weekly published a new edition about The latest Ruby version usage stats

πŸ—ž Hotwire Weekly published a new article about Week 25 - Herb Language Server, VS Code Extension, and more!

πŸ—ž Sajjad Umar published a new edition about Ruby on Rails - June 2025

πŸ—ž Ruby Gems published a new edition about May 2025 RubyGems Updates

πŸ—ž Awesome Ruby Newsletter published a new edition about πŸ’Ž Issue 474 - Ruby on Rails Audit Complete

🎧 Podcasts

🎧 Code and the Coding Coders who Code it posted a new podcast episode β†’ Episode 52 - Vladimir Dementyev

🎧 Brandur Leach published a new podcast episode:

🎧 The Rails Business Podcast published a new podcast episode β†’ Jess Brown

🎧 Remote Ruby published a new episode β†’ Unpacking Direct Routes and More

πŸŽ₯ Videos

πŸŽ₯ Pete Hawkins published a new video β†’ This New Cursor AI Feature Is WILD

πŸŽ₯ Drifting Ruby published a new video β†’ System Tests in Docker

πŸŽ₯ Guillaume Briday published a new video β†’ Smarter Rails apps with AI, how to use LLM in real life - Lyon.rb Meetup - 06/2025

✍🏾 Articles

What’s new πŸ†•

πŸ†• Avo published an article about Llms.txt file in Rails applications

πŸ†• Luan GonΓ§alves published a new article about The History of Ruby on Rails: Code, Convention, and a Little Rebellion

πŸ†• Stephen Margheim published a new article about CSS-only Star Rating Component with Half Steps

πŸ†• Peter Zhu published a research paper about Reworking Memory Management in CRuby

πŸ†• Hans-JΓΆrg Schnedlitz published a new article about A Deep Dive into Solid Queue for Ruby on Rails

πŸ†• PaweΕ‚ DΔ…browski published a new article about Migrating existing columns to be encrypted with Rails

πŸ†• Obie Fernandez published a new article about Introducing Roast: Structured AI Workflows Made Easy

πŸ†• Matt Solt published a new article about Ruby AI: Interview with Obie Fernandez

πŸ†• Ben Sheldon published a new article about The difference between Rails Plugins, Extensions, Gems, Railties, and Engines

πŸ†• Daniel Doubrovkine published a new article about Using Claude-Swarm to Upgrade Ruby Projects

πŸ†• Victor Shepelev published a new article about Notes on code, text, and war. Week 2: If code is text, then what?

πŸ†• Maciej Mensfeld published a new article about Karafka 2.5 and Web UI 0.11: Next-Gen Consumer Control and Operational Excellence

πŸ†• Avo published a new article about Passwordless authentication with the NoPassword gem

πŸ†• Nikhil published a new article about Ruby Include vs Extend: Understanding the Key Differences

πŸ†• Kane Jamison published a new article about The Ideal CMS Structure For Rails

How-TOs πŸ“

πŸ“ Svyatoslav Kryukov published a new article about How to render Inertia pages as modal dialogs

πŸ“ Akshay published a new article about How to Inspect the Sequence of Controller Callbacks in Rails

πŸ“ Stefan Wienert published a new article about Bugsink - Deploy with Kamal

πŸ“ Rails Designer published a new article about Auto-pause Video Player with Stimulus

Jason Swett published an article about Abstraction != abstractness

Greg Molnar published a new article about Exploiting LLM chatbots

Julik Tarkhanov published a new article about GETting Conditionally - The Bare Basics

Akshay Khot published a new article about Working Effectively with AI as a Developer

Sean Goedecke published a new article about Everything I know about good system design

Reply

or to participate.