Short Ruby Newsletter

Share this post

πŸ‘‹ Short Ruby News - Edition #26

newsletter.shortruby.com

πŸ‘‹ Short Ruby News - Edition #26

Briefly about everything happening in Ruby world - week 3 of 2023

Lucian Ghinda
Jan 23
1
Share this post

πŸ‘‹ Short Ruby News - Edition #26

newsletter.shortruby.com

Excited about the future

πŸ‘‰ I activated subscriptions for the newsletter. I want to keep the newsletter free for everybody; thus, I don’t have a unique offering for people who decide to pay a subscription.

Do you like this newsletter and can afford to become a paid subscriber for 5$/month?

  • In that case, you get nothing different except the pleasure of knowing that you’re supporting the Short Ruby News to keep publishing the free edition weekly and pay for some of the tools I use to create this newsletter. And, of course, my gratitude for your big gesture!

  • I can help you write an email for your manager/leader to expense your subscription from your learning budget, so please reach out to me at hello@shortruby.com

If you are already a free subscriber and want to update, you can click on Upgrade your subscription. If you are not a subscriber, you can subscribe as free or paid or just read the newsletter on the web.


You can jump directly to one of the following sections if you like:

πŸ‘Β Our Community

πŸ‘‰Β All about Code and Ruby

🧰 Gems, Libraries, and Updates

🀝 Related (but not Ruby-specific)

More content: πŸŽ₯ 🎧 πŸ—žΒ (articles, podcasts, videos, and newsletters)


πŸ‘ Our Community

πŸ‘ John Hawthorn announced the release of Rails 7.0.4.1, 6.1.7.1 and 6.0.6.1 to address security vulnerabilities:

Source: @jhawthorn@ruby.social

πŸ‘ Zach HolmanΒ shared a slide from a pitch describing the value of Rails:

Source:Β @holman

πŸ‘ Jeremy Smith announced he is organising a regional Ruby conference:

Source: @jeremysmitchco@ruby.social

Visit blueridgeruby.com to find out more and if you have a proposal visit Call for Proposals. You can also follow @blueridgeruby@ruby.social to be up to date with the conference news.

πŸ‘ ConfFreaks released all the videos from RailsConf 2022 on their channel. Of course you could already watch them on Ruby Central channel: Rails Conf 2022

πŸ‘ Collin Donnell announced the first episode of a new Ruby podcast Rooftop Ruby

Source: @collin@ruby.social

πŸ‘ Korny Sietsma asked where someone can refresh their Ruby on Rails skills in 2023:

Source: @Korny@hachyderm.io

Here are some suggested resources:

  • Ruby Changes

  • The Rails and Hotwire Codex book

  • Programming Ruby 3.2 (5th edition) book

  • Agile Web Development with Rails 7

  • The Rails 7 Way

πŸ‘ Andrea FomeraΒ sharedΒ that there are over 1500 people that signed up for Learn Hotwire by Building a Forum

Source:Β @afomera

πŸ‘‰ All about Code and Ruby

πŸ‘‰ Joel Drapper shared a thread about how phlex-rails is patching form_with to work with Phlex and there is also a nice discussion about how to output raw HTML:

Source: @joeldrapper@ruby.social

πŸ‘‰ Marco Roth shared an update of phlexing.fun announcing a series of improvements:

Source: @marcoroth@ruby.social

The source code is available at: marcoroth/phlexing

πŸ‘‰ Brandon Weaver shared a proposal he wrote in 2021 about pattern matching in Ruby:

Source: @baweaver@ruby.social

Read the document here.

πŸ‘‰ Olle shared the Ruby Google Summer of Code Ideas List for projects in 2023:

Source: @olleolleolle@ruby.social

πŸ‘‰ Brooke Kuhlmann shared an update for their Hanami demo application:

Source: @bkuhlmann@ruby.social

πŸ‘‰ Joel Drapper shared a thread about how to work with Basic Object in Ruby:

Source: @joeldrapper@ruby.social

You should read the entire thread. I just want to underline the announcement Joel made in that thread:

Source: @joeldrapper@ruby.social

πŸ‘‰ Nate Berkopec shared how they speed up Rails system tests at GustoHQ:

Source: @nateberkopec@mastodon.social

He describes the problem:

Source: @nateberkopec@mastodon.social

And then the solution:

Source: @nateberkopec@mastodon.social

πŸ‘‰ Joel Drapper shared a technique to configure something on the current class and its children:

Source: @joeldrapper@ruby.social

🀝 Jamie McCarthy replied with a possible alternative:

Source: @jamiemccarthy@ruby.social

πŸ‘‰Moses GathukuΒ shared a code sample showing how to set default value for attributes in Rails >= 6.1

Source:Β @Gathukumose

πŸ‘‰ Steve PolitoΒ shared a code sample about the anything keyword in RSpec:

Source:Β @stevepolitodsgn

πŸ‘‰ Steve PolitoΒ shared a code sample showing how to use signed_id to confirm user emails in Rails:

Source:Β @stevepolitodsgn

You can explore the full example on this Github repository

πŸ‘‰ Greg NavisΒ shared a thread with code samples showing transform_keys and transform_values in Ruby:

Source:Β @gregnavis

πŸ‘‰ Kevin Newton shared a code sample about how Ruby parsed identifiers:

Source: @kddnewton

πŸ‘‰ Greg NavisΒ shared a code sample showing how compare_by_identity works for hashes in Ruby:

Source:Β @gregnavis

Read the thread as it has a lot of code samples showing why this happens and how it works.

You should also read this code sample from Josh Cheek reply along with the link to the Ruby docs:

Source: @josh_cheek

πŸ‘‰BenjamΓ­n Silva H.Β shared a code sample showing a trick in Rails to initialize a new record:

Source:Β @bsilva96

If you have read so far and you like the content, maybe you take into consideration sharing this and subscribing:


🧰 Gems, Libraries, and Updates

🧰 Avo published a new update for their content management system and admin for Rails: Read the changelog for v.2.24.0

🧰 Andrew Kane shared a code sample from their gem polars-ruby

Source:Β @andrewkane

🧰 Sam Ruby published a new gem called dockerfile-rails with the purpose to:

Provides Rails generators to produce Dockerfiles and related files. This is being proposed as the generator to be included in Rails 7.1, and a substantial number of pull requests along those lines have already been merged. This repository contains fixes and features beyond those pull requests.

🧰 Joel Drapper shared a PR for Phlex - Don't capture blocks when yielding showing a 4% performance improvement by not capturing the yiel block.

🧰 John Hawthorn shared a PR he submitted to Rack making it use Ruby 3.2 caching Regexp: Make RFC2183 work with Ruby 3.2's caching Regexp

🧰 Jim Gay published a new gem called polyfill-data that brings the new Ruby 3.2 Data class to earlier Rubies.

🧰 Andi published a new gem called file_exists that brings back the File.exists? and Dir.exists? that were removed in Ruby 3.2

🧰 StanisΕ‚aw Pitucha published a new project that helps with finding the source of Ruby memory leaks: HeapLeak

🧰 Stanislav Katkov shared an update for pbbuilder gem where he added fragment caching.

🧰 Jean Boussier published gvltools 0.1.0 a set of GVL instrumentation tools

🧰 Mike Perham announced the release of Sidekiq Pro 7.0.6. Read the changelog

🧰 Julian Rubisch published a new gem julianrubisch/solder: Simplistic UI State Management for Rails Apps using Hotwire and Caching

Persist and restore ephemeral attributes of HTML elements using the Rails cache store and StimulusJS. In short, this plugin will persist UI state changes a user makes on a per-element basis.

🧰 Andrew Kane published a new gem Mapkick - Create beautiful JavaScript maps with one line of Ruby

Source:Β @andrewkane

🧰 Simon Chiu announced they updated their Rails template Code-With-Rails/rails-template, a Rails application template to set up Rails apps with Docker already set up.

🧰 Greg Navis published a new gem called transient_record:

transient-recordΒ is a gem to define temporary tables and Active Record models for testing purposes. It's a great tool for testingΒ generic Active Record code and libraries.

🧰 Nate Hopkins shared a gem that helps identify a model by an URI: rails/globalid

🧰 LÑzaro Nixon shared a PR for Active Record that will help with generating tokens: Add `ActiveRecord::Base::generates_token_for` by jonathanhefner

🧰 Andrew Kane announced the release of Chartkick 5: Create beautiful JavaScript charts with one line of Ruby with support for Chart.js 4 

🧰 Dhairya Gabhawala shared a gist showing how to extend Trix editor functionality: Rails & Trix: Add Underline, Superscript, and Subscript


🀝 Related (but not Ruby-specific)

🀝 Brandon Weaver asked about how to test E2E React flows:

Source: @baweaver@ruby.social

Here are some replies:

Source: @joeldrapper@ruby.social
Source: @Ryanbigg@ruby.social
Source: @davetron5000@ruby.social

🀝 Postmodern asked about donation tiers for Open Source projects:

Source: @postmodern@ruby.social

Here are some replies worth reading:

Source: @joeldrapper@ruby.social
Source: @adrian@ruby.social

There were also two resources shared:

  • 218: Building a $1M/Year Dev Ed Business (with Adam Wathan)

  • I Just Hit $100k/yr On GitHub Sponsors! πŸŽ‰β€οΈ (How I Did It)

🀝 Noel Rappin shared an update about Programming Ruby 3.2 book:

Source: @noelrap@ruby.social

🀝 Tobias Petry shared a code sample showing how to use the new feature from PostgreSQL to create custom column types:

Source:Β @tobias_petry

🀝Piotr Kafel shared about the number of tests at Shopify:

Source:Β @PiotrKafel

🀝 Lewis Youl shared a code sample showing how outlets API works in Stimulus JS:

Source:Β @lewisyoul

🀝 Rob Zolkos shared that it is an easy win to build teams concept from the beginning:

Source:Β @robzolkos

More content: πŸŽ₯ 🎧 πŸ—ž

Newsletters

πŸ—ž Greg MolnarΒ published a new edition of This Week in Rails:Β Active Record regroup, CurrentAttributes name restrictions and more!

πŸ—žDavidΒ sharedΒ a new edition of their newsletter Weekly bookmarks - Issue #34

πŸ—žοΈΒ Ruby WeeklyΒ published a new edition:Β Ruby for game development is not joke

πŸ—žοΈΒ Ruby LibHuntΒ published a new edition of theΒ Awesome Ruby Newsletter

πŸ—ž Ruby Radar published a new edition Ruby Radar #86 - All Bangers

Podcasts

🎧 Jason Swett published a new episode 171 - Smart Testing Practices with Rich Steinmetz - The Code with Jason Podcast

🎧 Content For :Devs published a new episode #003 - Screencasting tips! - content_for :devs

🎧 Ruby For All published a new episode about The Database Wizard with Andrew Atkinson | Ruby for All | Episode 26

🎧 Ruby Rogues published a new episode with Gavin Morrice about Boosting Your App's Performance

🎧 Remote Ruby published a new episode about Finding Ruby, Scaling a Business on Rails, and Public Speaking with Nadia Odunayo

Videos

Talks

πŸ“½οΈ The Rubber Duck Dev Show published a new episode Teaching Young Developers, with Melissa Amaya

πŸ“½οΈ Ruby Weekly shared a video from Brett Chalupa showing resources to use for Game development in Ruby: Ruby for game development? Is this a joke?

πŸ“½οΈ Andrew CulverΒ shared the video of Joe Masilotti's talk aboutΒ Why Are We Afraid to Hire Junior Rails Developers?

Screencasts

πŸŽ₯Β Yaroslav ShmarovΒ published a new video about Ruby on RailsΒ #103Β Simple Omniauth without Devise

πŸŽ₯ Dave Kimura published a new video about Rails Docked

πŸŽ₯ Brandon Weaver published two new class sessions from the Ruby Learning Center:

  • Effective RSpec - Ch 1 to 3

  • Complete Guide to Rails Performance - Sections 1 to 4

πŸŽ₯ DeaninΒ published a new video aboutΒ Wiki On Rails | Ruby On Rails 7.1 Tutorial

Articles

What’s new

  • Avo published an article analysing the differences between Avo and Rails started kits

  • Josef Strzibny published an article about Active Record become method: What is ActiveRecord becomes from Rails

  • Stephen Taylor Witte shared an article written by Vladimir Dementyev and Travis Turner from Evil Martians about Gemfile of dreams: the libraries we use to build Rails apps

  • Big BinaryΒ published a new articleΒ Rails 7.1 allows using aliased attributes with insert_all/upsert_all

  • Matt SwansonΒ published a new article aboutΒ Writing better Action Mailers: Revisiting a core Rails concept. You should also read this article by Stephen MargheimΒ aboutΒ Why parameterized objects in Rails are so powerful

  • Emmanuel Hayford published the third part of this series about An Overview of Rails 7.1 Features

  • Greg Molnar published a new article about Server-Side Request Forgery in Rails

  • Lucian Ghinda published an article about In defense of Ruby's short-hand syntax

How-Tos

  • Karol Bak published an article about Signed URLs with Ruby

  • Test Double shared an article written by Ali Ibrahim about Get Bootboot to work on Rails 4.x in deployment environmentsΒ with Docker

  • FrΓ©dΓ©ric PlantΓ© published an article about A powerful search feature with what Rails provides out of the box

  • The Ruby Dev shared an article written by Kane Hooper about Creating an AI email parser using Ruby and OpenAI (GPT-3)

  • Evgeniy DeminΒ published an article aboutΒ Uniqueness validation does not work since the beginning of Ruby on Rails.

  • Kojix published an article exploring Polars in Ruby: Tried Polars in Ruby

  • Peter Berkenbosch published an article about How to use ULID primary keys in Rails

  • Lucian Ghinda published an article about Refactoring instance variables to local variables in Rails controllers

Deep Dives

  • Kevin Murphy published a new article about Evaluating More Coverage in Ruby 3.2

  • Denis Defreyne published a new article about Avoiding bugs in Ruby code using the state pattern

  • Ryan Bigg published a new article about The method method

  • Shopify EngineeringΒ sharedΒ a new blog post published on their blog written by Maxime Chevalier about Ruby 3.2’s YJIT is Production-Ready

  • Davide Santangelo published a new article about A "Shallow" Dive into Memory Leaks in Ruby

More general

  • Planet ArgonΒ shared an article aboutΒ 5 Best Ruby IDE for Ruby on Rails Development


Thanks for reading Short Ruby Newsletter! If you enjoyed this and want to receive the newsletter weekly in your inbox, consider subscribing:

Share this post

πŸ‘‹ Short Ruby News - Edition #26

newsletter.shortruby.com
Comments
TopNewCommunity

No posts

Ready for more?

Β© 2023 Lucian Ghinda
Privacy βˆ™ Terms βˆ™ Collection notice
Start WritingGet the app
SubstackΒ is the home for great writing