Short Ruby Newsletter - edition 122

The one with a new markdown editor for Rails, benchmarks caching solutions for Rails and 18 inspiring Ruby and Rails code samples

In partnership with

Table of Contents

(ad)

There’s a reason 400,000 professionals read this daily.

Join The AI Report, trusted by 400,000+ professionals at Google, Microsoft, and OpenAI. Get daily insights, tools, and strategies to master practical AI skills that drive results.

πŸš€ Launches and discounts

πŸš€ Adrian Marin announced a new markdown editor MARKSMITH. Link to Github repo

πŸ“… Events

 πŸ“… On 28 February 2025, there will be the Ruby Community Conference in Poland. If you want to join there are still tickets available:

πŸ“… This week there are 18 meetups happening all around the world: check https://rubyconferences.org/meetups/ to see where they are happening:

Source: @boulderruby

Source: @viennarb

πŸ‘‰ All about Code and Ruby

πŸ‘‰ Nagachika announced a new Ruby 3.2.7 Release:

πŸ‘‰ Sandip Mane published a new article about Benchmarking caching in Rails with Redis vs the alternatives

πŸ‘‰ Petr Hlavicka published a new article about Flexible API versioning with Rails:

πŸ‘‰ Jeremy Smith published an article about Upgrading a Rails App to Tailwind v4

πŸ’» Code Samples

and Gregory Brown added:

πŸ’» Gregory Brown shared a thread about bug hunting:

and he asked some questions based on the code he shared (please visit and see the full code on Bluesky):

πŸ’» Joel Drapper shared a thread about using postfix conditional expressions

and he also showed an example of how hash keys are silently deduplicated :

πŸ’» Chris Blunt shared a code sample about working with Kamal on a Rails app

οΈπŸ’» Bugloper shared some ways to output an array of hashes with y & j commands ( YAML & JSON formatter ) in IRB:

Source: @bugloper

οΈπŸ’» Igor Alexandrov shared a way to extend β€œhas_manyβ€œ associations with a custom method

οΈπŸ’» Ruby Cademy shared a snippet of how to create inheritable class-level attributes

Source: @RubyCademy

οΈπŸ’» Jonathan Frias shared a post about non-Active Record objects

οΈπŸ’» Ruby Cademy shared about method and class attribute naming conflicts

Source: @RubyCademy

οΈπŸ’» Jorge Manrubia shared a snippet about Active Record Search:

Source: @jorgemanru

οΈπŸ’» Brad Gessler shared a thread about Rails controllers

Source: @bradgessler

Source: @bradgessler

Source: @bradgessler

οΈπŸ’» BenjamΓ­n Silva shared a way of testing the cache:

Source: @bsilva96

and there is his implementation:

Source: @bsilva96

οΈπŸ’» Ruby Cademy shared a post about Replacing ActiveRecord enums

Source: @RubyCademy

οΈπŸ’» Brad Gessler shared about using it in a blog and calling a proc:

Source: @bradgessler

οΈπŸ’» Collin shared about using it named parameter:

and ️Marco Roth responded to this post with :

Source: @marcoroth_

πŸ’» Andrea Fomera posted about learning and building a version system for APIs

Source: @afomera.dev

Source: @afomera.dev

Andrea Fomera received some suggestions and implemented modifications.

Source: @afomera.dev

Click here for the full post and code snippet.

πŸ’» Scott Watermasysk shared a code sample to demonstrate the difference for date precision between OS X and Linux

Source: @scottw.com

He also posted the results of this code sample:

Source: @scottw.com

οΈπŸ’» Rich Steinmetz shared an observation about Ruby and Minitest method naming

Source: @RichStoneIO

and he continued with a suggestion:

Source: @RichStoneIO

πŸ“ Thinking about Code Design

οΈπŸ“ Rob Zolkos shared about removing extra gems and relying on Rails auth generator:

Source: @robzolkos

and Christian Genco asked:

Source: @robzolkos

Rob Zolkos responded with:

Source: @robzolkos

οΈπŸ“ NicolΓ‘s GaldΓ‘mez asked the community about job scheduling with Kamal

and Juraj Kostolansky answered:

Source: @jkostolansky

οΈπŸ“ Vladimir Dementyev shared some interesting improvements of Action Cable Next GitHub - anycable/actioncable-next: Next-gen Action Cable implementation

Link to this project repository: actioncable-next

Source: @palkan_tula

οΈπŸ“ Jeremy Smith posted a thread about his experience of upgrading a Rails app to Tailwind v4 ( please visit and see the full thread for more explanations )

He started to explain the first steps of this process

He also encourage you to check tailwindcss docs when doing this upgrade

The links provided from his messages:

οΈπŸ“ Gavin Morrice shared about reasons why people use Service Objects:

Source: @juliknl

οΈπŸ“ Donn Felker shared how testing enabled smooth Rails upgrade

Source: @donnfelker

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

πŸ’‘ Dean De Hart shared about hiring junior developers:

Source: @Deaniocom

Source: @rails

πŸ’‘ Zil N asked for the most impressive Rails apps in order to find inspiration

Source: @zilasino

and he got some recommendations of projects from other people:

and there are more in the replies on Twitter.

πŸ’‘ Ruby Central shared a job opportunity

πŸ’‘ Michael Chaney shared his experience with building Rails apps:

πŸ’‘ Stanislav Katkov shared what he found out about the TRMNL startup

πŸ’‘ Steve Ike asked the community to share their favorite Rails apps that they use or are building

Source: @steve_ike_

Here is a list of companies/projects extracted from this thread:

πŸ’‘ Kant asked about choosing frameworks

Source: @_kant01

and got a response from Andreas Finger

❀️ Why Choose Ruby and Rails

❀️ Darksea shared his appreciation for Rails framework

Source: @darkseadev

❀️ Rails Ui shared that he likes the frontend options offered by Rails

Source: @railsui_

❀️ Robert shared some thoughts of building small Ruby apps

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

and also wrote an article about this gem: https://www.markhesketh.com/blog/introducing-rustywind-ruby

🧰 Updates

🧰 Avo for Ruby on Rails announced a release of version v3.17.0, coming with big changes:

Source: @avohq.io

Source: @avohq.io

🧰 postmodern-mod3.bsky.social announced a new release on ruby-install

Source: @dhh

Source: @dhh

🧰 Greg Molnar announced a new version of ransack

Source: @any_cable

🧰 Koichi Ito announced a new version of webmock | RubyGems.org | your community gem host

Source: @koic

🧰 Brad Gessler announced a new version of https://github.com/rubymonolith/uri-builder

🀝 PaweΕ‚ ŚwiΔ…tkowski shared his thoughts about β€œModified TDDβ€œ idea

🀝 Jonathan Reinink shared a thread about about Intertia.js project

Source: @reinink

Source: @reinink

πŸ‘‰ Gergely Orosz made a post about the unique behavior and mindset of software developers as customers, particularly regarding developer tools and services

🀝 Jorge Manrubia shared some thoughts about writing

Source: @jorgemanru

Source: @jorgemanru

🀝 Catalin Pit talks about database technology choices

Source: @catalinmpit

🀝 Schappi shared a trick for zsh/bash scripting

Source: @schappi.com

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

πŸ‘‰ Charles Oliver Nutter shared his slides from FOSDEM 2025 about Invokedynamic in Practice with JRuby

πŸ—ž Newsletters

πŸ—ž Any Cable published a new edition of Any Cables Monthly #26

πŸ—ž Ruby Weekly published a new article about Ruby on Rails on WebAssembly

πŸ—ž Ruby On Rails published a new edition about Ruby on Rails β€” Support joins in update_all for PG and SQLite and more

πŸ—ž Hotwire Weekly published a new edition about Week 06 - Avoid Turbo Morphing Pitfalls, New Markdown Editor, and more! 

πŸ—ž Andy Croll published a new edition of One Ruby Thing about Ordinal Numbers in Rails: 1st, 2nd, 3rd, 4th

πŸ—ž Awesome Ruby Newsletter published a new article about πŸ’Ž Issue 455 - Ruby "Thread Contention" is simply GVL Queuing | Island94.org

🎧 Podcasts

🎧 David Hill shared a podcast : Cindy Backman - Ode to RailsConf

🎧 Joel Drapper shared a podcast where he was interviewed: Zero Allocations | Dead Code

🎧 Ruby Rogues published a new podcast about SQLite Awesomeness with Stephen Margheim ( provided YT link )

🎧 Jason Swett published a new podcast about The Code with Jason Podcast - Code with Jason

🎧 Jason Charnes, Chris Oliver, Andrew Mason published a new article about High Leverage Rails & SQLite with Stephen Margheim

🎧 The Bike Shed published a new article about 454: Workshop design with Aji Slater

πŸŽ₯ Videos

πŸŽ₯ Drifting Ruby published a new video about Outlets and Permanent Tags and about Episode 495 - Normalizes

πŸŽ₯ Ken Greeff published a new video about Ken Greeff | Tracking Link Clicks for Outbound Analytics - Part 11

πŸŽ₯ Jason Swett published a new article about Capturing Individual Test Data - Live Coding on SaturnCI

✍🏾 Articles

What’s new πŸ†•

Jean Boussier published a new article about Guardrails Are Not Code Smells

Petr Hlavicka published a new article about Flexible API versioning with Rails

Jeremy Smith published an article about Upgrading a Rails App to Tailwind v4

Brad Gessler published an article about Hacking Rails controller actions and rendering

PaweΕ‚ ŚwiΔ…tkowski shared an article about On validations and the nature of commands

Rails Designer published a new article about Build a Notion-like editor with Rails

Jeremy Kreutzbender shared an article about Using PostgreSQL Functions with Rocicorp's Zero and Ruby on Rails

Zeke Gabrielse published a new article about Self-promotion

Andrew Vogel and Matt Polito published a new article about Broadcasting User Specific Turbo Content

Jason Swett published a new article about Meatspace abstractions

Avi Flombaum published a new article about Principles and Values

Yuta Kusuno published a new article about [Rails] How We Reduced API Response Rendering Time by 30%

Fritz Meissner published a new article about Reasons not to refactor

Maciek Korsan published an article about Improve your user experience with Turbo Frames

Jonatas Davi Paganini published an article about Building a better Ruby ORM for time series and analytics

How-TOs πŸ“

Tristan Dunn published an article about Deploy a Rails Template with Kamal

Radan shared an article about How to avoid problems with Turbo morphing

Moses Gathuku published a new article with Hotwire Examples

Victor Cobos published a new article about Enhancing Esbuild Error Handling in a Rails App

Nick K. published an article about moving average calculation for activejob rails

Olly Headey shared an article about Understanding how lists behave in your email editor

Zeke Gabrielse published a new article about Imposter syndrome

Rich Steinmetz published a new article about Setting up your Mac to make you 1% better (as a developeur)

Jon Sullivan published a new article about A Few Goals For My Next Decade

Jon Sully published an article about Small Teams Need PaaS-Ops, Not DevOps

Reply

or to participate.