๐ป Short Ruby News - The Code Edition #37
Briefly about everything happening in Ruby world - week 14 of 2023
You can jump directly to a section:
๐ย Our Community
๐ย All about Code and Ruby
๐งฐย Gems, Libraries, and Updates
๐คย Related (but not Ruby-specific)
The content section that includes videos, talks, screencasts, podcasts, newsletters, and articles can now be found in The Content Edition (and sent in a separate email).
For just a small amount of $1.5 per week (only $6.5 a month), you can become a valued paid subscriber and actively support the thriving Ruby community we all love!
By contributing, you'll be playing a pivotal role in fostering growth and maintaining the high standards of ShortRuby for everyone to enjoy.
๐ Our Community
๐ Paweล Strzaลkowski announced the second part of the free webinar about Software Development Dedicated Engineering Teams

๐ Visuality announced a new meetup of PLRUG Register here

๐ Amsterdam Ruby Meetup announced a new edition of Rails Girls NL happening on May 20th in Rotterdam:

๐ Ruby Conf Th announced that call for papers is now open Go to RubyConf Thailand 2023 CFP

๐ Ruby Central shared a review about The Ruby Central board: where weโve been and where weโre headed

๐ Ruby On Rails announced a new conference in Europe Rails World is coming

๐ Samuel Path shared a thought about how zeitwerk project:

๐ค For explicit, concise content on Ruby and Rails, I recommend subscribing to OneRubyThingย by Andy Croll. You will discover well-thought methods for writing Ruby or Rails effectively. Each technique explains why to use it and how to apply it.
Andy Croll also developedย FirstRubyFriend, a free initiative that pairs early/junior Ruby developers with mentors in a friendly knowledge exchange.
He is one of the contributors to the Short Ruby Newsletter's sustainability through a paid membership option called "Founding Member."
๐ All about Code and Ruby
๐ Brandon Weaver asked for recommendations for frontend design frameworks:

Here are some of the recommendations:
๐Kasper Timm Hansen shared their Github code gists

Here is an example of the code that you can find there:

๐Salma Elbadawi shared a thread about concepts that are transferrable between programming languages:

๐Will Cosgrove shared a code sample showing how to minimally render only the requested turbo-frame from Phlex


๐Aaron Patterson shared a thread showing how their TenderJIT is evolving:

๐Martin Spickermann shared a tip about using -
modified in strftime

๐Matt Swanson shared a code sample showing how to implement toggles for 15 email notification types:


Here are some more solutions proposed in replies to Matt:





There are multiple other ideas proposed in the replies to Matt's tweet.
๐Nate Berkopec shared about the advantage of knowing bin/rails runner

๐Josef Strzibny shared a Rail tip about how to use rails runner

๐Joe Masilotti asked about implementing complex querying with Ransack:

Here are some of the replies:



But it would help if you read the entire conversation as more ideas and code are shared about implementing a search ranking algorithm.
๐ Pragmatic Programmers asked about favorite features of Ruby language:

Here are some of the replies, but you should read all responses as there are many more:
โThe focus on human aspects: The community, usability and overall friendlinessโ (@S_2K)
โIt's focus on human usage. No programming language feels as natural to me as Rubyโ (@alex_takitani)
โIts readabilityโ (@monfresh)
โI know itโs actually Rails, but the almost completely absent boilerplateโ (@j_c_fitz)
โHard to pick one. Terse but readable. Duck typing, monkey patching is there if you need it. Modules/mixins and everything is an object. Also the community is still awesome!โ (@JDBet45)
โI do all my PoCs in Ruby when I need to understand the product we plan to use. It's ease of usage, developer happinessโ (@ohmyroots)
๐ Shiva Kumar shared a thread about Data.define:

๐Marian D Dev asked about how to keep models and controllers skinny and readable:

Here are some of the recommendations:
And here are some of the replies:






And here is a good summary that Marian did after reading all replies to his own question:

๐Josef Strzibny shared a Rails tip about how to use puma_worker_killer gem

๐Matt Swanson shared a tip about how to create collapsible sections without Javascript:


๐Roman shared a code sample showing how to implement styled-components with Phlex and Tailwind. See the gist at POC Tailwind + Phlex component.

๐David reminded us about the spacer_template option in Rails render collection:

๐Lewis Youl share a code sample about using allow_value should matcher

๐Naofumi Kagami shared a code sample about how to use Current

๐ The Rails Changelog shared a code sample showing that Action Mailer will add callbacks in Rails 7.1:

๐ Matt Swanson shared a code sample showing how to trigger a tracker:

๐Matt Swanson shared a code sample showing how to use components with a form builder:

๐ Ken Collins shared a code sample showing how to use globalid gem:

Vladimir Dementyev replied with a code sample showing a concern using globalid:
๐ Noob_understore_ asked how easy it is to learn Ruby from zero experience. If you did that it would be great if you can contribute to this discussion with your own experience:
๐ Rose_arias asked about recommendations to learn Ruby:
Here are some of the recommendations:
Ruby Programming by The Pragmatic Studio
Lean to Program by Chris Pine
Ruby on Rails by Michael Hartl
The Rails 7 Way by Obie Fernandez
Eloquent Ruby by Russ Olsen
The Well-Grounded Rubyist by David A. Black
And here is a recommended path by Akshay Khot:

๐ค I imagine that if you have read so far, you find value in this newsletter.
๐งฐ Gems, Libraries, and Updates
๐งฐ Mike Dalessio announced the release of version v2.21.0.rc1 for loofah (โLoofah is a general library for manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiriโ) . Read the release notes

๐งฐ Jean Boussier announced a PR that will be part of Ruby 3.3 about Implement `Process.warmup`. Check out the PR or the feature 18885 on Ruby tracker
๐งฐ Mike Perham announced a new release of sidekiq v.7.0.8 with a security fix Read the changelog
๐งฐ Konnor Rogers announced a new version of their Rhino Editor

๐งฐ Vladimir Dementyev announced a new gem rbytes: Ruby Bytes helps you build, deploy and install Ruby and Rails application templates. See also the article Vladimir published Ruby Bytes, or generating standalone generators

๐งฐ Jeremy Evans announced a new release v.2.4.0 of Forme 2.4.0. Read the changelog

๐งฐ Koichi Ito announced a new release of RuboCop Minitest 0.30.0 ยท rubocop/rubocop-minitest
๐งฐ Nate Hopkins announced a new gem called universalid: GlobalID for for Arrays, Hashes, and objects like ActiveRecord::Relation, etc.

๐งฐ Lรกzaro Nixon announced a new feature for authentication-zero that is add masqueradable(Sign-in as button functionality)
๐งฐ Koichi Ito announced the release of verion 2.19.0 of RuboCop Rails 2.19.0
๐งฐ Rob Zolkos shared a commit that will be part of Rails 7.1 Improve typography of user facing validation messages. You can read the PR here

๐งฐ Rubocop released version 1.49 Read the release notes
๐งฐ Regina_begam announced on /r/ruby a new gem called nokolexbor
Please consider becoming a paid subscriber to support this newsletter for just $1.5/week ($6.5/month). Your contribution aids growth and maintains the quality of ShortRuby for everybody:
If you consider upgrading and want more information, please read Why to subscribe to paid
๐ค Related (but not Ruby-specific)
๐ค Paul Denya shared a tip about setting the title to the current directory for iTerm:

๐ค Jason Swett shared a thought about the discussion about perfect code and shipping fast:
This reminded me of what Sandi Metz wrote about code design:

๐ค Tobias Petry shared a tip about Cycle Detection for Recursive Search in Hierarchical Trees - Database Tip

๐คJason Swett shared a testing tip:

You can read The Content Edition if you want to discover the content created in Ruby world in week 14 of 2023: