Short Ruby Newsletter

Share this post

Short Ruby News - Edition #29

newsletter.shortruby.com

Short Ruby News - Edition #29

Briefly about everything happening in Ruby world - week 6 of 2023 (web edition)

Lucian Ghinda
Feb 13
Share this post

Short Ruby News - Edition #29

newsletter.shortruby.com

You can jump directly to a section:

πŸ‘Β Our Community

πŸ‘‰Β All about Code and Ruby

🧰 Gems, Libraries, and Updates

🀝 Related (but not Ruby-specific)

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

πŸ€— Founding Members supporting this newsletter


You can subscribe for free

Or you can consider upgrading to paid

Investing in the Ruby Weekly Newsletter as a paid subscriber is a valuable way to support the community around you. For ~1.5$/week (6.5$ per month), you can support its growth and ensure that high-quality information about the latest developments in Ruby continues to be available to everyone, both paying and non-paying subscribers alike.

Support the newsletter for ~1.5$/week

If you consider upgrading and want more information, please read Why to subscribe to paid


πŸ‘ Our Community

πŸ‘ We have to deal with hard truths, and one of these is an invasion happening in Ukraine, and we know at least one of our community members Victor Shepelev is there, facing complex challenges every day.

Yukihiro Matz Matsumoto shared Victor’s article that I invite you to read about Participating in programming language's evolution during interesting times

Source: @matz@ruby.social

πŸ‘ πŸŽ‰ Peter Cooper announced that Ruby Weekly reached 640 issues πŸŽ‰ Congrats, and I wish they would release at least 640 more numbers.

Read the 640th issue of Ruby Weekly

Source: @cooperx86

πŸ‘ Morgan Fogarty asked for recommendations of woman heroes in Rails community:

Source: @mofo37

Here is the list of Twitter accounts from replies in a random order: @leenyburger, @amyhoy, @eileencodes, @adriannakchang, @sandimetz, @BrittJMartin, @saronyitbarek, @LiliVerrot, @JemmaIssroff, @nodunayo, @b0rk, @jessitron, @HeyChelseaTroy, @vaidehijoshi, @OngMaple, @womenonrails, @juuh42dias, @kytrinyx, @the_thagomizer, @lindaliukas

πŸ‘Β Ruby CentralΒ announced they offer Coaching Sessions for people who want to talk at the conference. Register at Call for Proposal (CFP) Coaching Session

Source:Β @rubycentral@ruby.social

πŸ‘ RubyCentral published all videos from RubyConf 2022 Mini and Huston. Open the YouTube playlist

πŸ‘ Davis W. FrankΒ shared an idea about creating a community for mid-sized Ruby on Rails organizations:

Source:Β @dwfrank@ruby.social

πŸ‘ Greg Molnar asked what the most challenging part when learning Ruby/Rails is:

Source: @GregMolnar

Here are some of the responses:

  • Asset management

  • Learning to think about Rails security

  • Outdated learning material

  • Not knowing how to go off the rails

  • Domain modeling, especially abstract models

  • Struggling to model what they’re building in Ruby / Rails. Going from idea to paper kind of thing

  • Advanced ActiveRecord queries

πŸ‘‰Rubyday Verona announced their Call for Papers are now open at rubyday.it

Source: @rubydayit

πŸ‘ Jeremy Smith announced a new podcast called IndieRails about Rails and indie business, having Jess Brown as co-host:

πŸ‘ Saroj Zoras called for participation in Ruby Google Season of Docs project. Read more about it here at github.com/rubygsoc:

Source: @zoraslapen

πŸ‘‰ All about Code and Ruby


If you're to hire top Ruby on Rails talent, I'd like to introduce you to RailsDevs.com (referral link). This unique platform puts the power back in the hands of developers by allowing them to post their profiles and empowering companies to reach out to them. I believe in the value RailsDevs can bring to the hiring process, and I'm confident you will.

I invite you to use the referral link for RailsDevs.com so you can support this newsletter, too (it does not cost you anything extra).


πŸ‘‰Luca Guidi shared an excellent thread explaining with code samples how to create a Hanami web app using GraphQL:

Source: @jodosha

You should read the entire thread, but in case you are curious about how the code looks like, here is step 9:

Source: @jodosha

πŸ‘‰Emmanuel Hayford shared that Rails 7.1 now has support to pass options to explain:

Source: @siaw23

πŸ‘‰Tekin SΓΌleyman shared a code sample showing how to use the format sequence

Source: @tekin@ruby.social

If you want to read more, there is an entire section called Format Specifications on docs.ruby-lang.org

Source: docs.ruby-lang.org

πŸ‘‰Noah Gibbs asked about what are some good Rubocop rules

Source: @codefolio@ruby.social

Here are some replies from the conversation:

Source: @dbreunig@note.computer
Source: @bensheldon@ruby.social

πŸ‘‰Rishi Pithadiya shared a code sample showing how to use assert_valid_keys from Rails to validate Hash keys:

Source: @rishipi

πŸ‘‰ Chris Salzberg shared they built a demo rails app that isolated Rails application constants under a single top-level namespace rails_on_im

Source: @shioyama@ruby.social

πŸ‘‰Noel Rappin started a discussion about what if Ruby would support other symbols at the end of the method name:

Here are some interesting gists from the replies:

Source: @nick_evans@ruby.social
Source: @noelrap@ruby.social

πŸ‘‰Benoit asked about mixing concurrency in Ruby/Rails with parallelism on the DB part:

Source: @benoit@ruby.social

Here is one explanation of how this works:

Source: @esparta@ruby.social

πŸ‘‰Karol BΔ…k shared a quick Ruby tip for paginating APIs:

πŸ‘‰Joel Drapper shared that phlex-rails will have adapters for 184 Rails view helpers:

Source: @joeldrapper@ruby.social

You can read the merged PR for more details about this.

πŸ‘‰Postmodern asked a question about the pattern of defining methods that return a value on success and nil on failure compared with methods that raise an exception on failure:

Source: @postmodern@ruby.social

Here are some replies from the conversation:

Source: @noelrap@ruby.social
Source: @codefolio@ruby.social
Source: @davetron5000@ruby.social
Source: @Schneems@ruby.social

You might also find interesting this code prototype shared by Noel Rappin in a gist

Source: gist.github.com/noelrappin

πŸ‘‰ Kevin Newton shared that ruby-syntax-tree can now help generate a mermaid diagram of a sea-of-nodes representation of Ruby code in Syntax Tree:

Source: @kddnewton

Here is what it looks like:

Source: @kddnewton

πŸ‘‰Jess Brown shared a code sample showing how to use provide the option to download as CSV in the same Rails controller action:

Source: @bjessbrown

πŸ‘‰Kevin Newton shared a great infographic explaining what SyntaxTree does and how it fits into Ruby:

Source: @kddnewton

πŸ‘‰Greg Navis shared a thread about instrumentation API from ActiveSupport.

Here is one of the code samples he shared, but I suggest you read the entire thread:

Source: @gregnavis

πŸ‘‰Chris Oliver asked a great question about what Ruby or Rails feature should be more known:

Source: @excid3

Here are some of the answers but for the full context you should read the conversation:

  • composed_of

  • Action Mailbox

  • Pattern Matching

  • Fixtures

  • Active Jobs

  • YARD docs

  • Arel

  • Seed data

  • The built-in authentication

  • ActionController::Renderer

  • rails notes

  • Delegated types

  • TurboStreaming chunked HTTP requests from APIs

  • ActiveRecord#merge

  • ActionController::Metal to ping endpoints

πŸ‘‰ Takashi Kokubun shared Chris Seaston RubyConf talk and announced they are continuing to implement some of Chris’ proposals: RubyConf 2022: Ruby’s Core Gem by Chris Seaton

Source: @k0kubun@ruby.social

πŸ‘‰Zilvinas Kucinskas shared a thread describing how they hosted bridgetownrb as a custom origin on a subdirectory path on Cloudfront:

Source: @zilkucinskas

πŸ‘‰Jess Brown shared a quick tip about how to add a new column and set default only for new records:

Source: @bjessbrown

πŸ‘‰Lewis Youl shared some code samples showing how to use the Ruby splat operator * to do array manipulations:

Source: @lewisyoul

🧰 Gems, Libraries, and Updates

🧰 Ruby Weekly shared a gem fixture_champagne that has the purpose of doing:

Source: jguecaimburu/fixture_champagne

🧰 Stan Lo shared they are starting to create a new Ruby tracer library. This seems to be the Github repo: st0012/ruby_tracer

Source: @st0012@ruby.social

🧰 Paul Bucur shared a Ruby library called browser that helps do browser detection with Ruby.

🧰 Joel Drapper shared Lookbook v2 that now has support for any other Rails renderable:

Source: @joeldrapper@ruby.social

🧰 Carlos Silva announced they published a new gem rails-graphql

rails-graphql is a fresh new implementation of a GraphQL server, designed to be as close as possible to Rails architecture and interfaces, which implies that it has shortcuts, lots of syntax sugar, and direct connection with Rails features like ActiveRecord and ActionCable.

This gem has its own parser, written from scratch, using the C-API of Ruby, which empowers it with an outstanding performance. Plus, all the features provided were carefully developed so that everyone will feel comfortable and able to apply in all application sizes and patterns.

Source: virtualshield/rails-graphql

🧰 Joel Drapper announced the release of Phlex 1.3.2 and Phlex Rails 0.6:

Source: @joeldrapper@ruby.social

🧰 Ada announced they published yarm: yet another Ruby monad gem:

Source: @ada_shen@ruby.social

Here is a code sample:

Source: @ada_shen@ruby.social

🧰 Nate Berkopec announced they published Release 6.1.0 The Way Up · puma/puma

Nate Berkopec shared Release 6.1.0 The Way Up Β· puma/puma

🧰 Vladimir Dementyev shared their talk at RubyConf about their new gem mock-suey:

A collection of tools to keep mocks in line with real objects.

🧰 Jeremy Evans announced the release of their new gem by: Ruby Library Preloader

🧰 Andrew Kane announced fast tokenizers for Ruby tokenizers-ruby

Source: @andrewkane

🧰 A new Ruby version 3.2.1 was released. Read the changelog created by Hiroshi Shibata

Source: ruby-lang.org

🧰 Matt Swanson shared they merged a new feature to Rails 7.1 about Added option to show all headers for mailer previews

🧰Heartcombo announced that the PR that adds support for Hotwire/Turbo is not merged to the main:

Source: @heartcombo

🧰 Marco Roth announced the release of v.0.52.0 of stimulus-use containing a breaking change. Read about how to migrate here

🧰 Dragon Ruby announced their roadmap for Dragon Ruby in 2023. Checkout the announcement

🧰Dmitry Tsepelev announced their new gem rubocop-graphql - a Rubocop extension for enforcing GraphQL best practices.


🀝 Related (but not Ruby-specific)

🀝 Paul Bucur shared how to open iCalendar file as a subscription and not open the download file:

Source: @mudge@ruby.social

🀝David Stosik shared a piece of code showing how to use option -execdir for find

Source: @DavidStosik@ruby.social

🀝Stanislav (Stas) Katkov shared a thread about various ways to approach the purpose of a side project:

Source: @5katkov

🀝Jason Swett shared why it is good to test your objects:

Source: @JasonSwett

🀝Andy Budd talked about what they see as the biggest problems in product management:

Source: @andybudd

🀝Josef Strzibny shared some Git tips about organizing stashes with names:

Source: @strzibnyj

πŸ‘‰Nick Schwaderer shared a great quote from why:

Source: @schwad_rb

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

πŸ“ Nate BerkopecΒ shared the slides they used at Tokyo Tech Meetup about How to contribute to Open Source

πŸ“š Nate Berkopec announced they turned on Purchasing Power Parity for all their books Get them here

Source: @nateberkopec@ruby.social

πŸ—ž Newsletters

πŸ—žEmmanuel Hayford announced a new edition of This Week in Rails Parameter filtering and an improved ActionView::Helpers::TagHelper#...

πŸ—ž Nate Berkopec published a new edition of Ruby/Rails performance newsletter If queue times are getting long, consider optimizingΒ the 95th percentile

πŸ—žοΈΒ Ruby WeeklyΒ published a new edition:Β Everything new in Ruby 3.2

πŸ—ž Ruby Radar published a new edition Ruby Radar #89 - RubyConf 2022 Videos and DHH is Cooking

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

πŸ—ž Women On Rails published a new edition Newsletter #43: the framework war, optimisation with Ruby, being promoted. The newsletter is available in French, Italian and Spanish.

Podcasts

🎧 Drew Bragg published a new episode of Code and the Coding Coders who Code it with Mike Munroe and Dave Kroondyk

🎧 Brittany Martin shared a new episode of The Ruby on Rails podcast: The Ruby’s Got You Covered World Tour with Kevin Murphy

🎧 Content For :Devs published a new episode about Streaming Magic with Christ Booth! - content_for :devs

🎧 Collin Donnell published the latest episode of Rooftop Ruby with Joel Drapper

🎧 Content For :Devs published a new episode Streaming Magic with Christ Booth! - content_for :devs

🎧 Remote Ruby published a new episode about Concurrency Problems Bro | Remote Ruby | Episode 217

🎧 Ruby Rogues published a new episode The Evolution of Opal

🎧 Ruby for All published a new episode about Favorite Ruby Methods: Part 2 - The Hash

Videos

Talks

πŸ“½οΈ Drew Bragg shared his talk at Ruby Conf Mini 2022: Who Wants to be a Ruby Engineer? by Drew Bragg. If you like discovering Ruby tips, this talk is excellent and entertaining

πŸ“½οΈ Boulder Ruby published a talk by Brooke Kuhlmann about Ruby Function Composition

πŸ“½οΈ Rubber Duck Dev Show published a new episode about Hobby programming with Nick Schwaderer

Screencasts

πŸŽ₯ Deanin published a new video about Storing and Searching JSON in Ruby on Rails

πŸŽ₯ Dave KimuraΒ published a new video about Strict Locals

πŸŽ₯ The Ruby Learning Center published two more videos streamed by Brandon Weaver for the two classes that are running now:

  • Ruby Learning Center - Effective Testing in RSpec 3 - Ch 5

Articles

What’s new

Thomas Fernandez published an article about Ruby Adds Support for WebAssembly: What Does This Mean for Ruby Developers?

Joe Masilotti published a new article about Progressively enhanced Turbo Native apps in the App Store

Murtaza Bagwala published a new article on Saeloun about Rails preserves entry TTL when incrementing or decrementing an integer value

How-Tos

  • Wilbur Suero published Getting Started with Ruby on Rails - A Beginner's Guide - [Beginner]

  • Yaroslav Shmarov published a new article about Omniauth without Devise

  • Sulman Baig published an article about How to send slack notifications from Rails app using sidekiq

  • Mattias Velamsson published the second part of this series about how to Organize Your Downloads Folder with Ruby #2

  • Brandon Christman shared a how to create a Carousel - TurboStreams (no javascript)

  • Akshay published an article about Docked Rails: Setup a Ruby on Rails Application on Docker

Deep Dives

  • Younes Serraj published a new article explaining ActiveRecord: finally understand transactions.

  • Ivo Anjo published an article about Ruby’s unexpected I/O vs CPU unfairness - ivo's awfully random tech blog

More general

  • PaweΕ‚ ŚwiΔ…tkowski published a new article explaining various ways to think about events and their benefits while showing some examples of code design based on events: Events, events, events

  • Lucian Ghinda published a new article about short methods and long methods: A method’s gravity


πŸ€— Founding Members supporting ShortRuby

  • Drew Bragg, host of Code and the Coding Coders who Code it

  • Avi Flombaum, the founder of Flatiron School, is a product engineer interested in full-time/contract work.

  • Adrian Marin, creator of Avo - a Ruby on Rails application building framework

  • Adam McCrea, creator of Judoscale (formerly Rails Autoscale)β€”theΒ dead-simple autoscalerΒ for Rails, Sidekiq, etc.

  • Stephen Ierodiaconou from www.diaconou.com

Read more about what is a Founding Member or about Why pay for ShortRuby newsletter


Share this post

Short Ruby News - Edition #29

newsletter.shortruby.com
Previous
Next
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