Short Ruby Newsletter - edition 115

The one about conferences opening tickets or announcing speakers for 2025, where Samuel Williams announced async-cable, Puma 6.5.0 released

In partnership with

If you want to support the newsletter, you can upgrade to paid subscriber at https://subscribe.shortruby.com

Table of Contents

(ad πŸ‘‡)

Learn AI in 5 Minutes a Day

AI Tool Report is one of the fastest-growing and most respected newsletters in the world, with over 550,000 readers from companies like OpenAI, Nvidia, Meta, Microsoft, and more.

Our research team spends hundreds of hours a week summarizing the latest news, and finding you the best opportunities to save time and earn more using AI.

πŸš€ Launches and discounts

πŸ’Έ I am starting to compile a list of deals for Ruby developers πŸ‘‡ that I will probably send it next week as a separate email, but until then, I am compiling it as a page:

πŸš€ Kuba Suder launched https://sdk.blue - a collection of all SDKs about Bluesky:

Source: @mackuba.eu

πŸš€Zack Gilbert launched https://susanssudoku.com - a simple in browser Sudoku:

πŸ“… Events

πŸ“… Visuality announced the Ruby Community Conference - Winter 2025 and the first speaker:

Source: @visualitypl

πŸ“… Paul Campbell shared they are thinking to organise a Ruby conference in Ireland:

Source: @paulca.com

πŸ“… Balkan Ruby announced tickets for balkanruby.com

Source: @BalkanRuby

πŸ‘‰ All about Code and Ruby

(ad πŸ‘‡)

Add file uploads instantly with Pinata’s developer-friendly File API

As a developer, your time is valuable. That’s why Pinata’s File API is built to simplify file management, letting you add uploads and retrieval quickly and effortlessly. Forget the headache of complex setupsβ€”our API integrates in minutes, so you can spend more time coding and less time on configurations. With secure, scalable storage and easy-to-use endpoints, Pinata takes the stress out of file handling, giving you a streamlined experience to focus on what really matters: building your app.

πŸ’» Code Samples

πŸ’» Xavier Noria shared about alias_method :

πŸ’» Henrik Nyh shared a code sample about combining uniq and sole to check object classes:

οΈπŸ’» Ross Kaffenberger shared about using Rails excluding and with:

Source: @rossta

πŸ’» Josh Branchaud shared a code sample about executing a proc via ===:

If you want to understand more about how === works, I recommend this article by Brandon Weaver: Understanding Rubyβ€”Triple Equals 

πŸ’» Postmodern shared about how split handles trailing/leading occurrences:

πŸ’» Kerrick Long shared about using the under-the-covers technique shared last week by Victor Shepelev in their article:

πŸ’» Stanislav Katkov shared a code sample about Rubygems offering a way to manage webhooks:

Source: @skatkov.com

πŸ’» Gabriele Renzi shared about the performance difference between sum and doing the same with inject:

πŸ’» Joe Clarke shared a code sample about implementing infinite scroll with Hotwire:

Source: @jclarke.xyz

Scott Watermasysk shared a code sample about running Brakeman in CI:

Source: @scottw.com

πŸ’» Anthony Drake shared a code sample about using Bluesky API:

πŸ’» Sean Roberts shared a code sample about about implementing a cva.style for working with Tailwind clsases in Phlex/ViewComponent:

οΈπŸ’» Ruby Cademy shared about using pick and ids vs pluck :

Source: @RubyCademy

οΈπŸ’» Greg Molnar shared about silencing the healthchecks in Rails 8:

Source: @GregMolnar

On the same topic of reducing the among of logging Rob Zolkos shared

Source: @robzolkos

πŸ’»οΈ Emmanuel Hayford shared a code sample about how Rails allows explain on methods like first, pluck and similar ones:

Prem Sichanugrist shared a code sample about a small bash script to debug flaky tests:

Source: @sikac.hu

πŸ’» Onur Ozer shared a code sample about using truncate_words from Rails:

Source: @onurozer.me

οΈπŸ’» Samuel Williams shared a code sample about testing Async::Cable:

Source: @ioquatix

οΈπŸ’» Emmanuel Hayford shared what Minitest supports executing tests within specific line ranges:

Source: @siaw23

οΈπŸ’» Adam Mc Crea asked about which version of the code would be good and why:

Source: @adamlogic

οΈπŸ’» Emmanuel Hayford shared about using enqueue_after_transaction_commit to change how jobs are scheduled from inside a transaction:

Here is the problem:

Source: @siaw23

and here how to configure the behavior:

Source: @siaw23

Source: @robzolkos

οΈπŸ’» Ruby Cademy shared how to use Bundler inline:

Source: @RubyCademy

οΈπŸ’» Lucian Ghinda shared a thread about pattern matching:

πŸ’»οΈ Kane Jamison shared a code sample about adding a canonical URL:

οΈπŸ’» Saeloun shared about generating controllers in Rails with --parent option:

Source: @HiSaeloun

οΈπŸ’» Samuel Williams shared a code sample asking about introducing Thread::Promise in Ruby:

Source: @ioquatix

πŸ“ Thinking about Code Design

οΈπŸ“Russ Olsen asked about what’s the most exciting thing that happened in the last 5 years in Ruby:

Here are some replies:

Source: @skatkov.com

Source: @batsov.net

Source: @manu-j.com

πŸ“ Mike Perham shared a benchmark between Sidekiq and SolidQueue:

πŸ“ Enrico Pilotto asked about advisory lock:

Rosa Gutierrez replied with:

οΈπŸ“ Brandon Weaver shared about modularity:

οΈπŸ“ Benjamin Wood shared about the responsibility of a Rails controller:

On the same topic ️Adrien Siami shared:

Source: @Intrepidd

οΈπŸ“ Greg Molnar shared about security:

Source: @GregMolnar

οΈπŸ“ Dimitri Bosch shared about needing es-module-shims with Rails 8:

οΈπŸ“ Rob Zolkos shared about config/environments/* file being empty:

Source: @robzolkos

οΈπŸ“ Igor Alexandrov shared about performanc eimprovements from updating to Ruby 3.3.5 with jemalloc:

❀️ Why Choose Ruby and Rails

❀️ Noel Rappin shared about Ruby stuff they want to try:

❀️ Rowen Willabus shared they are using Rails to deploy a Rails app to help farmers:

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Chris Oliver announced a new gem black_friday: Black Friday sales in your Rails apps (see a short video where Chris explains the gem)

πŸ†• Samuel Williams announced a new repository socketry/async-cable

Source: @palkan_tula

Source: @lcmen_

🧰 Updates

🧰Bozhidar Batsov shared a conversation about deprecation of parser in Ruby: Soft deprecation of the project? · Issue #1046 · whitequark/parser. This is an important conversation for a variety of toll in Ruby including Rubocop:

Bozhidar Batsov added:

🧰 Gift Egwuenu announced an update October 2024 RubyGems Updates

🧰 Samuel Williams announced a new pull request for Ruby about Introduce Fiber::Scheduler#blocking_operation_wait. (#12016) Β· ruby/ruby@9c26830

Source: @ioquatix

🧰 John Nunemaker announced an update of Flipper gem:

🧰 Mike Dalessio announced an update about sqlite3 gem:

Source: @github

🀝 Jonathan Markwell shared an advice about how to choose the DB:

Source: @jot.is

🀝 Gregory Brown shared about what a good architecture is:

🀝 Will Boyd shared about using infinity constant in CSS:

🀝 Prem Sichanugrist shared about separating personal emails for Git:

Source: @sikac.hu

🀝 Adam Wathan announced Tailwind CSS 4.0 - beta1:

🀝 JoΓ«l Quenneville shared about designing APIs:

Source: @joelquen

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

πŸ‘‰ Jeremy Evans shared their slides about 10 Years of Roda

πŸ—ž Newsletters

πŸ—ž This Week In Rails published a new edition about Active Support’s NotificationAssertions and sql.active_record gets affected_rows

πŸ—ž Ruby Weekly published a new edition about DHH is screencasting again

🎧 Podcasts

🎧 Adrian Marin and Yaroslav Shmarov published a new episode of Friendly.show - November 2024. Black Friday deals, SupeRails PRO, Hotwire Native, Office Hours 

🎧 The Bike Shed published a new podcast about The Bike Shed: 447: How to (not) implement impersonation

🎧 Alisa Cohn published a new podcast about Episode 80 - David Heinemeier Hansson

πŸ“½οΈ πŸŽ₯ Videos

πŸŽ₯ Kaleb Lape published a new video about Rails development in 2024

πŸŽ₯ Joe Masilotti published a new video about Hotwire Native live coding

πŸŽ₯ Thoughtbot published a new video about AI in Focus: Information summarization using an LLM

✍🏾 Articles

What’s new πŸ†•

Avo published an article about What’s new in Rails 8

HΓΉng LΓͺ published an article about Concurrency in Ruby: Thread and Fiber - DEV Community

Ayush Newatia published an article about Rack for Ruby: Socket Hijacking

Noel Rappin published an article about Object Constellations

Rails Designer published an article about Inheritance with Stimulus Controller

Prasanth Chaduvula published an article about Rails 7.1 Adds Rails.application.deprecators Method

Aysan Isayo published an article about Upgrade Rails From 7.2 to 8.0

How-TOs πŸ“

Avo published an article about Adding a sitemap to a Rails app

Steve Polito published an article about Process slow network requests with Turbo and Active Model

Ben Sheldon published an article about Keep your secrets.yml in Rails 7.2+

JD Gonzales published an article about Kamal Tip - Private Network only Database Server

Rails Designer published an article about Add Sign Up to Rails 8’ Authentication

Steve Polito published a new article about Process slow network requests with Turbo and Active Model

Denis Defreyne published an article about The intricacies of implementing memoization in Ruby

Jeremy Kreutzbender published an article about Adding Email Address Verification in Rails 8

Reply

or to participate.