- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 141
Short Ruby Newsletter - edition 141
The one where Marco Roth announced the Herb Language Server and where we discuss again about service objects

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:
Sign up for The Rundown AI newsletter
They send you 5-minute email updates on the latest AI news and how to use it
You learn how to become 2x more productive by leveraging AI
π Launches and discounts
π Pete Hawkins has announced that IdeaPilot is now live

Source: https://ideapilot.net
π 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:

Source: @marcoroth.dev
π‘ 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

Source: @onedevdeving
οΈπ» 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

Source: @fractaledmind

Source: @fractaledmind
οΈπ» 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

Source: @onedevdeving
οΈπ» 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: @nateberkopec
π Brad Gessler published a new video β Service Objects are a great way to add indirection to otherwise perfectly good Ruby methods

Source: @bradgessler
Michael Chaney replies with some insights on service objects

Source: @MichaelDChaney
He got some replies:

Source: @MorriceGavin

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

Source: @kieranklaassen
π‘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

Source: @onedevdeving
He got some replies:

Source: @EngMarketer
action_policy - βAuthorization framework for Ruby/Rails applicationsβ

Source: @dpaluy

Source: @specialCaseDev

Source: @coorasse

Source: @starscourgesam
π‘ Robby Russell asked his community about memorable Ruby gems or blog posts that impressed them

Source: @robbyrussell
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

Source: @MorriceGavin
π€ Nate Berkopec highlighted an important aspect of open source software: the community itself is what brings value to the software

Source: @nateberkopec
More content: π π π§ π₯ βπΎ
π 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
π₯ Brad Gessler published a new video β Service Objects are a great way to add indirection to otherwise perfectly good Ruby methods
π₯ 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