Short Ruby News - Edition #103

This is the one about exciting Ruby launches, code tips, new gems, and upcoming events and launches, meetups in Turkiye, Switzerland, and Poland, and fresh insights into Ruby and Rails.

You can jump directly to a section:

πŸš€ Launches & πŸ“… Events

πŸ‘‰ All about Code and Ruby: πŸ’» Code, πŸ“Code Design,πŸ’‘Around, ❀️ Why Choose Ruby

🧰 Gems, Libraries, and Updates: πŸ†• New, 🧰 Updates

🀝 Related (but not Ruby-specific)

[Sponsor ⬇] reinteractive.com

The reinteractive Application Code Review is a deep dive into your application, providing you a complete window into the state of your app.

πŸš€ Launches and discounts

πŸš€ Luke announced the (pre)launch of PetPals - Unleash Friendships with PetPals

πŸš€ Ruby On Remote announced a new section about Remote companies using Ruby

πŸ“… Events

πŸ“† Events happening this week if you want to attend (source: RubyConferences)

πŸ“… Ruby Conf shared they are looking for volunteers Conference Volunteer Interest Form

πŸ‘‰ All about Code and Ruby

πŸ‘‰ Thomas Cannon published a detailed guide about Fixing the Rails 7+ networking stack

πŸ’» Code Samples

οΈπŸ’» Nate Hopkins shared about using construct/deconstruct and Minitest assert_pattern:

πŸ’» Akinori Musha shared a code sample about Ruby tweak for reverse sorting

οΈπŸ’» Samuel Williams shared a code sample using pattern matching:

He explained his preference:

πŸ’» ️ Nate Hopkins shared a tip for anyone using the terrific amazing_print ruby gem

οΈπŸ’» Andrew Mason shared a tip about updating Ruby LSP:

οΈπŸ’» Ruby Cademy shared rails tips on using with_lock method

They also shared tips on taking advantage of ActiveModel::Name#human to transform model names into a more human format, using I18n

Here is another tip to take advantage of config.middleware.use to integrate custom middleware seamlessly into your Rails app

οΈπŸ’» Santanu Bhattacharya shares about a new identification mechanism GlobalID that allows representing ruby class as URL

οΈπŸ’» Nate Hopkins shares about one liner pattern matches and Ruby patten matched case statements

οΈπŸ’» AlemaΓ±o shared how to make your rake tasks safer and more user friendly with TTY::Prompt!

οΈπŸ’» Michael Chaney discusses about invert_where method in active record

οΈπŸ’» Bradley Schaefer shares about ActiveSupport::TaggedLogging

οΈπŸ’» Josef Strzibny shared about how to fix Kamal build issue when moving to OrbStack:

πŸ“ Thinking about Code Design

οΈπŸ“ ️️ Shayon Mukherjee discusses why we should stop relying on IF NOT EXISTS for Concurrent Index Creation in PostgreSQL. Read the entire article here

πŸ“ Lucian Ghinda shared an interesting thread on Why is the visibility of constants not affected by `private`? and how and why it should be. Check out the thread to know more.

οΈπŸ“ Ruby Cademy asked about non-standard directories that are added to a Rails app/ folder:

Here are some answers:

app/themes - a theme directoryapp/appapp/interactorsapp/contractsapp/errorsapp/eventsapp/policiesapo/serializers app/servicesapp/validatorsapp/view_componentsapp/pdfsapp/notes (usually gitignored)app/middleware

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

πŸ’‘ Irina Nazarova shared pictures from the YCombinator Ruby Meetup:

You should see the entire thread here.

Here is a followup:

πŸ’‘ Irina Nazarova discusses the need for a comprehensive catalog of companies that use Ruby on Rails

πŸ’‘Brad Gessler is building a β€œHotwire for CLI apps”

❀️ Why Choose Ruby and Rails

❀️ Jim Jones is looking for a senior software engineer to join their team

❀️ Ross Kaffenberger shared his love for Ruby on Rails

❀️ Lloyd Wilson shares his experience with rails apps

❀️ Dave Copeland describes how much work Rails does to provide an ergonomic API

❀️ Ahmed Nadar shared an article written by Mike Chong about I’m back, Ruby on Rails

❀️ Jake shared why they are choosing Ruby and Rails:

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Check out Andreas Haller openapi_first library that makes sure your API implementation is aligned with your OpenAPI API description

πŸ†• Zeke Gabrielse open-sourced a series of gems used at Keygen (see the entire thread here):

πŸ†• Andrew Kodkod published a new gem called phlex-lucide - Lucide.dev Icons for Phlex

🧰 Updates

🧰 RubyMine announced the release RubyMine 2024.2 Is Out!

🧰 Jeremy Evans announced a new release for Roda, Roda 3.83.0

🧰 Andrea Fomera announced a new version of RicherText Ruby Gem Changelog

🧰 Gannon McGibbon submitted a new PR (that is now merged to Rails main) about Defer route drawing to the first request, or when url_helpers called

🧰 Vitaly Slobodin announced a new version of Ruby - Zed integration

🧰 Vinicius Stock announced a new version of Ruby LSP:

🧰 Keshav Biswa announced a new version of useful_jekyll_scripts

🀝 Related (but not Ruby-specific)

🀝 Scott Chacon shared on why it its a pull request and not push request

🀝 Ted Nyman shared on how to improve backend performance

🀝 Ryan Castillo shared how to easily add prefixes to files with bash’s bracket expansion

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

πŸ—ž Newsletters

πŸ—ž Ruby Weekly published a new edition about Rails 7.2 released

πŸ—ž Hotwire Weekly published a new edition about Week 33 - RubyMine adds Stimulus Support, sharing Turbo Frames across views, and more!

πŸ—ž Awesome Ruby Newsletter published a new edition about Issue 430 - Sonic Pi: Ruby as a Composition Tool

πŸ—ž Sajjad Umar published a new edition of Ruby on Rails Monthly - August 2024

🎧 Podcasts

🎧 The Ruby on Rails podcast published a new episode about about The Ruby on Rails Podcast Episode 521: Euruko with Muhamed Isabegovic

🎧 Euruko published a new podcast about The Ruby on Rails Podcast Episode 521: Euruko with Muhamed Isabegovic

🎧 Andrew Mason published a new podcast about Authentication Generator in Rails 8, 20th anniversary of Rails, and more!

🎧 Thoughtbot published a new podcast about The Bike Shed: 436: Creating Conditions For Your Best Work with Steph Viccari

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

πŸŽ₯ Drifting Ruby published a new video about Kanban from Scratch Part 2 | Drifting Ruby and about Have I Been Pwned

πŸŽ₯ Ruby Argentina published a new video about Refactoring en Ruby: Elevating Code Quality Through Community And Practice

πŸŽ₯ Phil Smy published a new video about Rails 7.2 RC1 is Here

πŸŽ₯ Ken Greeff published a new video about Building a CRUD App with Next.js & Rails API

πŸŽ₯ Thoughtbot published a new video about Resurrecting an Untouched Rails App

πŸŽ₯ Jeremy Smith published a new video about Update from building Liminal

πŸŽ₯ Jason Swett published a new video about Adding Filter by Status - Live Coding on SaturnCI

✍🏾 Articles

What’s new πŸ†•

πŸ†• Thomas Cannon published a new article about Fixing the Rails 7+ networking stack

πŸ†• Vladimir Dementyev published a series of articles about TestProf β†’ Start with TestProf: a good doctor for slow Ruby tests 

πŸ†• Andrew Atkinson published an article about What’s Coming in Ruby on Rails 7.2: Database Features in Active Record

πŸ†• Andrew Atkinson published a new article about Madison+ Ruby 2024 Conference Recap

πŸ†• Igor Alexandrov published a new article about Upgrading Rails application from 7.1 to 7.2 | Ruby & Beyond

πŸ†• Aaron Francis published a new article about An argument for logging off - Aaron Francis

πŸ†• Mika Henriksson published a new article about how Kamal deploy renders site unresponsive

πŸ†• The Ruby Dev published a new article about Rails 8 introduces a basic authentication generator - DEV Community

πŸ†• Julian Rubisch published a new article about An Introduction to HTTP Caching in Ruby On Rails

πŸ†• Dave Kimura published a new article about My Development Environment on macOS 15 Sequoia and about Rails 7.2 Upgrade Problems (of my own making)

πŸ†• Apoorv Tiwari published a new article about What Is New In Rails 7.2?

πŸ†• Noel Rappin published a new article about What About Static Typing in Ruby?

πŸ†• Kasper Timm Hansen published a new article about Why is Oaken: for your database seeds & test data

πŸ†• Vitalii Yulieff published an article about Railing against time: tools and techniques that got us 5X faster tests

πŸ†• Lucian Ghinda published an article about Proposal to change private method to work on Constants in Ruby

How-TOs πŸ“

πŸ“ Ross Kaffenberger published a new article about How to Render CSS Dynamically in Rails

πŸ“ Rails Designer published an article about Nested Forms With Turbo (without dependencies) and about Nested Layouts with Ruby on Rails | Rails Designer

πŸ“ Steve Polito published an article about Conditionally render a Turbo Frame shared between multiple views

πŸ“ Aysan Isayo published an article about From Code to Compliance: Accessibility Testing in Rails Applications

πŸ“ Matt Brictson published an article about Build a modal form with Rails, Turbo, and the dialog element

πŸ“  JoΓ«l Quenneville published a new article about Return an Enumerator When Your Collection Has Multiple Traversals

πŸ“ Mika Henriksson published a new article about Taggable Array and about mhenrixon | A custom date picker

πŸ“ Jon Sully published an article about Sidekiq (Infinitely) Iterable Jobs

πŸ“ Sara Jackson published on how to Conditionally render a Turbo Frame shared between multiple views

πŸ“ Landon Gray published a new article about Building a ChatGPT Clone with Ruby on Rails and Claude 3.5 Sonnet

πŸ“ Renato Nitta published a new article about How to set up Rails 7 with Bootstrap - Renato Nitta

πŸ“ Jospin Ndagano published a new article about Using Action Cable for Real-Time Applications in Ruby on Rails

Reply

or to participate.