- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 119
Short Ruby Newsletter - edition 119
The one edition where Active Record Search is announced along with Ruby 3.3.7
Table of Contents
(promo)
Special Offer: 50% OFF Full Stack Rails Mastery Video Course
Master Rails in 2025 with this comprehensive video course to get a better job or build your own startup. Itโs a hands-on course where youโll build an ecommerce marketplace app with step-by-step lessons and challenges:
โ Rails backend and frontend
โ Compatible with Rails 7 & 8
โ Hotwire, Stimulus, Turbo
โ Payments with Stripe including Subscription
โ Background jobs with Solid Queue and Sidekiq
โ Automated testing with Minitest, Capybara and Selenium
โ Access to full source code
โ Lifetime access
Hereโs a special offer for Short Ruby Readers:
๐ Launches and discounts
๐ Kasper Timm Hansen announced an workshop about Guiding You through the Rails Source
Source: @kaspth.bsky.social
๐ Kyrylo Silin launched WeUseRails - Discover web apps built with Ruby on Rails
๐ Paweล Dฤ browski shared the waitlist for his new book High-Performance Active Record
Source: @pdabrowski6
๐ RailsDesigner launched a new project https://railsstats.com (read there the launch article - Introducing Rails Stats)
Visit https://railsstats.com
๐ Rich Steinmetz is looking for people to do Tandem coding for side projects
Source: @RichStoneIO
๐ Events
๐ Arkency launched a new workshop โFrom React to Hotwire An Unexpected Journeyโ
Source: arkency.com
๐ Rails Camp Usa registration is live! Get your early bird tickets now.
๐ Checkout the list of events happening this week at https://rubyconferences.org/meetups where you can also see the upcoming conferences and open CFPs.
Source: https://rubyconferences.org/cfp/
๐ All about Code and Ruby
๐ Jorge Manrubia announced they are working Active Record Search at 37Signals part of a new project they are preparing:
Source: @jorgemanru
๐ Takashi Kokubun announced a new version of Ruby 3.3.7 Released
Source: @k0kubun
๐ Victor Shepelev published at the beginning of this month the Ruby 3.4 Changes - a great review of what changed in Ruby 3.4 with good examples and references to Ruby tracker. I strongly recommend reading this to get updated with the most significant changes happening in Ruby 3.4.
He also published an article about the process to create this Ruby changes โ The short outburst of activity during Ruby Changelog preparationโ2025 edition
He published a thread with his most important articles from 2024 about Ruby:
Source: @zverok.bsky.social
๐ Jean Boussier published the last article in his series about ruby/json optimization. I recommend reading all of them. They are a great read and you will learn a ton about Ruby and optimisations and how to approach this kind of task:
Source: @byroot.bsky.social
๐ป Code Samples
๏ธ๐ป ๏ธRuby Cademy shared a code sample on how to use in? predicate outside of arrays
Source: @RubyCademy
๐ป Jean Boussier shared a benchmark about performance difference between directly calling a method and using send
:
Source gist.github.com/byroot
Source gist.github.com/byroot
Benoit Daloze added benchmarks for TruffleRuby:
Source: gist.github.com/byroot
๐ป Gregory Brown shared a riddle asking what improvement can be added at line 20:
Source: @skillstopractice.com
Source: @skillstopractice.com
๐ป Prem Sichanugrist shared about how using if/then
when the if
has multi-line conditions looks better:
๐ป ๏ธJonathan Frias shared a tip on why to prefer subqueries over joins in scopes
Source: @jonathanfrias99
๏ธRobert Peralta added:
Source: @RobertPeraltaB
๏ธ๐ป Brad Gessler discusses when to not use โitโ which os introduced in Ruby 3.4
Source: @bradgessler
Victor Shepelev added:
Source: @zverok.bsky.social
๏ธ๐ป Ruby Cademy shared a tip on Railsโ added support for SQL column aliases using hashes in select
!
Source: @RubyCademy
๏ธ๐ป Paweล Dฤ browski shared a rails console trick to check method source
Source: @pdabrowski6
๏ธ๐ป Karol Bฤ k shared a tip to reduce test suite execution time
Source: @kukicola
๏ธ๐ป Ruby Cademy shared how to setup โapโ as default IRB renderer
Source: @RubyCademy
(ad)
Drowning In Support Tickets? Maven AGI is here to help.
Maven AGI platform simplifies customer service by unifying systems, improving with every interaction, and automating up to 93% of responses. Seamlessly integrated with 50+ tools like Salesforce, Freshdesk, and Zendesk, Maven can deploy AI agents across multiple channelsโtext, email, web, voice, and appsโwithin days. Companies like Tripadvisor, ClickUp, and Rho slash response times by 60%, ensuring quicker support and exceptional customer satisfaction. Donโt let support tickets slow you down
๐ป David shared a code sample on token_list helper
Source: @dcyoung.dev
๐ป Ufuk Kayserilioglu shared a code sample about ruby autosplatting of block arguments
๏ธ๐ป Matt Swanson shared an insight from reading the Campsite code:
Source: @_swanson
๐ Thinking about Code Design
๏ธ๐๏ธ Gavin Morrice talks about how code that relies on service objects usually has tight coupling between two architectural layers.
Source: @MorriceGavin
๏ธ๐ Nate Berkopec shared about SPAs vs Turbo/HTMX:
Source: @nateberkopec
๏ธ๐ Matt Swanson discusses the challenges and potential pitfalls in implementing a feature to "resend an invite if not accepted after one week.
Source: @_swanson
๐ Sulman Baig shared a thread about Rails 8 CRUD development. I added here just the beginning of that thread:
Source: @sulmanweb.com
๏ธ๐ Paul Kim asked about experience with Hotwire:
Source: @pkayokay
Here are some replies:
Source: @WickNarwick
Source: @markahesketh
Source: @ffaebi
Source: @robzolkos
Source: @APIguy
Source: @lreszke
๐กAround code (news, findings, books, and more - all about Ruby)
๐ก Matheus Richard reminded us about For a Good Strftime | Easy Skeezy Ruby Date/Time Formatting
Source: https://foragoodstrftime.com
๐ก Maciej Mensfeld shared a rails update that eliminate allocations on Model.respond_to? calls
Source: @maciejmensfeld
๐ก Paul Kim asked about recommendation for gems:
Source: @pkayokay
Here are some recommendations:
active_link_to - "Helpful method when you need to add some logic that figures out if the link (or more often navigation item) is selected based on the current page or other arbitrary condition"
avo - "Avo is a very custom Content Management System for Ruby on Rails that saves engineers and teams months of development time by building user interfaces and logic using configuration rather than traditional coding; When configuration is not enough, you can fallback to familiar Ruby on Rails code."
brakeman - "Brakeman detects security vulnerabilities in Ruby on Rails applications via static analysis."
bundler-audit - "bundler-audit provides patch-level verification for Bundled apps."
database_consistency - "Provide an easy way to check the consistency of the database constraints with the application validations."
devise - "Flexible authentication solution for Rails with Warden"
erb_lint - "ERB Linter tool."
fancy_irb - "A fancy IRB has rocket-style #=> return values and colorful prompts and streams."
friendly_id - "FriendlyId is the "Swiss Army bulldozer" of slugging and permalink plugins for Active Record. It lets you create pretty URLs and work with human-friendly strings as if they were numeric ids."
good_job - "A multithreaded, Postgres-based ActiveJob backend for Ruby on Rails"
hotwire_combobox - "An accessible autocomplete for Ruby on Rails apps using Hotwire."
hotwire-spark - "A live reloading system that updates just what's needed to offer a smooth experience."
inline_svg - "Get an SVG into your view and then style it with CSS."
interactor - "Interactor provides a common interface for performing complex user interactions."
local_time - "Rails engine for cache-friendly, client-side local time"
meta-tags - "Search Engine Optimization (SEO) plugin for Ruby on Rails applications."
minitest - "minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking"
nocheckout - "Rails controllers for Stripe Checkout Sessions and Webhooks"
nopassword - "NoPassword is a toolkit that makes it easy to implement temporary, secure login codes initiated from peoples' web browsers so they can login to Rails applications via email, SMS, CLI, QR Codes, or any other side-channel."
og - "Object Graph (Og) is a state of the art ORM system. Og serializes standard Ruby objects to Mysql, Postgres, Sqlite, KirbyBase, Filesystem and more."
omniauth-oauth2 - "An abstract OAuth2 strategy for OmniAuth."
overmind - "Overmind is a process manager for Procfile-based applications and tmux."
pagy - "Agnostic pagination in plain ruby. It does it all. Better."
phlex - "A high-performance view framework optimised for fun."
pundit - "Object oriented authorization for Rails applications"
ransack - "Ransack is the successor to the MetaSearch gem. It improves and expands upon MetaSearch's functionality, but does not have a 100%-compatible API."
strong_migrations - "Catch unsafe migrations in development"
stylecheck - "Runs code style check on Ruby and SCSS files."
superform - "A better way to customize and build forms for your Rails application"
superview - "Build Rails applications entirely out of Phlex components."
view_component - "A framework for building reusable, testable & encapsulated view components in Ruby on Rails."
โค๏ธ Why Choose Ruby and Rails
โค๏ธ Chime into what Kelly Sutton has to say about his switch from React to Stimulus
Source: @KellySutton
โค๏ธ Avi Flombaum shared about using Rails instead of other external services:
Source: @aviflombaum
๐งฐ Gems, Libraries, Tools and Updates
๐ New Gems and Repos
๐ Pedro Rolo announced a new gem active_module - Modules and Classes as first-class active record values
๐ Sawaid announced a new gem inertia-flow - Inertia Flow moves prop building from controllers folder to views folder keeping the controllers clean and slim
๐ Landon Gray announced a new repository from their AI training: ruby-ai-search-training
Source: @thedayisntgray.bsky.social
๐ Yudai Takada / Ydah announced a new gem redhound: Pure Ruby packet analyzer.
Source: https://github.com/ydah/redhound
๐ Rรฉmy Hannequin a new gem Introducing Ephem - Compute astronomical ephemerides from NASA JPL Development Ephemerides
๐ Weston Ganger published a new gem called rails_local_analytics - Simple, performant, local analytics for Rails. Solves 95% of your needs until your ready to start taking analytics more seriously using another tool
๐ Brooke Kuhlmann published a new gem called initable - Initable provides automatic initialization of your objects by leveraging the same parameter structure as provided by Method#parameters while adhering to the Barewords pattern for scoping of attributes
๐งฐ Updates
๐งฐ Adrian Marin announced a that Avo passed over 1M downloads:
Source: @adrianthedev
๐งฐ Ruby Gems announced a new version 3.6.3 Released
๐งฐ Koichi Ito announced the release of RuboCop Rails 2.29.0
Source: @koic
๐งฐ Jeremy Evans announced new version release Tilt 2.6.0
Source: @jeremyevans0
๐งฐ Ryan Nystrom shared that the campsite codebase is now open source
Source: @_ryannystrom
๐งฐ Jeremy Evans announced a new version of Roda 3.88.0 Released ยท jeremyevans/roda ยท Discussion #375 ยท GitHub
Source: @jeremyevans0
๐งฐ Johny Ho announced the release of Superblue 1.0 - A productive library for Classic Rails, React and Redux
Source: @thoughtbot
๐งฐ Kirill Platonov announced a new version of Release v2.0.0 ยท kirillplatonov/hotwire-livereload
Source: @kirplatonov
๐งฐ Charles Oliver Nutter announced a new version of psych 5.2.3
๐งฐ Brooke Kuhlmann updated milestones version 19.0.0
๐ค Russ Olsen shared about explaining technical topics:
Source: @russolsen.bsky.social
๐ค Andrew Atkinson shared a benchmark of using UUID v4 vs bigint:
Source: @andyatkinson.com
๐ค Avi Flombaum talks about how AI would augment programmers, rather than replacing them
Source: @aviflombaum
๐ค Ahmed Nadar shared a thread on weekly book club for Junior devs
Source: @ahmednadar
๐ค Simon Chiu shared about building:
Source: @geetfun.com
Dominik Sumer added:
Source: @dominiksumer.com
More content: ๐ ๐ ๐ง ๐ฅ โ๐พ
Okura Masafumi shared their slides about Alba: Why, How and What's So Interesting
๐ Ruby On Rails published latest newsletter on Fresh Rails apps Dependabot updates reduced to weekly, and Auth generator gets a safer logout
๐ Ruby Weekly published a new article about All the language changes in Ruby 3.4
๐ Hotwire Weekly published a new article about Week 03 - Hotwire Webinar, Reflecting on React To Hotwire Migration, and more!
๐ Sajjad Umar published a new edition of their newsletter about Ruby on Rails โ Jan 2025
๐ Awesome Ruby Newsletter published a new article about ๐ Issue 452 - A simple trick to understand Rubyโs lazy enumerator
๐ง Podcasts
๐ง David Hill published a new episode about Ben Greenberg - Ode to RailsConf
๐ง Jason Charnes, Chris Oliver, Andrew Mason published a new article about Inside Ruby 3.4
๐ฝ๏ธ ๐ฅ Videos
๐ฅ EuRuKo published the videos from 2024 EuRuKo Conference: Day 1, Day 2 and Day 3. You can also see them on RubyVideo
๐ฅ Drifting Ruby published a new video about ViewComponent
๐ฅ Malachi Rails published a new video about Rails 8 Course - Beginner to Intermediate
๐ฅ Chris Oliver published a new video on What can you expect from the new params.expect() in #Rails 8?
๐ฅ Yaroslav Shmarov published a new video about Global app settings with gem rails-settings-cached #224
๐ฅ Ruby Europe published a new video about Life beyond MVC: scaling Rails monolith for hundreds of developers - Genar Trias Ortis
๐ฅ Malachi Rails published a new video about How to Deploy Rails 8 with Kamal to Digitalocean
โ๐พ Articles
Whatโs new ๐
Kelly Sutton published a new article about Moving on from React, a Year Later
Kevin Murphy published an article about What Is It (in Ruby 3.4)?
Scott Chacon published an article about Why is Git Autocorrect too fast for Formula One drivers?
Nithin Bekal published an article about What's new in Ruby 3.4
Justin Searls published an article A real-world example of a Mocktail test
Michiharu Ono published an article on When Controllers Take on Too Much Responsibility
Jean Boussier published an article about Optimizing Rubyโs JSON, Part 6 and Optimizing Rubyโs JSON, Part 7 finalising their series about optimizing Ruby JSON.
Avinash Joshi published an article about Implementing a Referral System in Rails
Exequiel Rozas published a new article about Better image placeholders with Blurhash in Active Storage - Avo
Prasanth Chaduvula published a new article Rails 8 Now Uses ISO 8601 Style Time For TimeWithZone#inspect
Maxime Chevalier-Boisvert published a new article about YJIT 3.4: Even Faster and More Memory-Efficient
James Hibbard published a new article about Useful things you can do with Rails console
Anna Zykova published an article about The RubyMine 2025.1 Early Access Program Is Open!
Sulman Baig published an article about Rails 8 CRUD: Modern Development Guide 2025
Ruby Central published a new article about Alpha-Omega Supports Ruby Centralโs Expansion of Open Source Leadership & Security
Saeloun Blog published a new article about Rails 8 Now Uses ISO 8601 Style Time For TimeWithZone#inspect.
Paweล Urbanek published an article about Lessons Learned Migrating my SAAS to Rails 8
Adam McCrea published a new article about Too Many Connections in PostgreSQL? How to Avoid This Common Error
Paweล Dฤ browski published an article about Metaprogramming meets deterministic probability - under the hood of
Dรฉlon Newman published an article about ruby -run, again
Kallin Nagelberg published an article about Understanding Complexity Density: A New Approach with RuboCop
How-TOs ๐
Josef Strzibny published a new article about Adding button loader to Turbo-powered forms
Daniela Baron published an article about Datadog APM for Rails on Heroku
Avo for Ruby on Rails published a new article about Better image placeholders with blurhash in Active Storage
Joรซl Quenneville published a new article about How to infer the form method for custom objects in Rails
William Kennedy published a new article about Up and Running with Hotwire Native Android Part 4 - Bridge Components
Jonathan Rochkind published a new article about Using CloudFlare Turnstile to protect certain pages on a Rails app
Chetan Mittal published an article about How to Build a Progressive Web App with Ruby on Rails 8: A Complete Guide
Jon Sullivan published a new article about Guide to Twilio + OpenAI Realtime on Rails (Without Anycable)
Zeke Gabrielse published a new article about No calls
Ayush published an article about Upskilling as a professional programmer
Reply