---
title: "Faraday keeps us in the loop"
publication: "Ruby Weekly"
issue: 652
published_at: "2023-05-04"
canonical_url: "https://rubyweekly.com/issues/652"
---

Plus RailsConf reflections, VS Code extensions for Rubyists, and wow it really is a quiet week out there. |        

#​652 — May 4, 2023 

[Read on the Web](https://rubyweekly.com/issues/652)  

Together with [![Cloud66 logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_250,h_250/e_make_transparent/co_white,e_outline:7/ofjgwnua55tonrserpbl.png)](https://www.cloud66.com/frameworks/rails/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-23-q2-1)  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/v1683203514/ceej9v4ha0igssqrvezr.png)](https://census.dev/blog/ruby-retry-made-better)  

[Retries Made Better with Faraday Loop](https://census.dev/blog/ruby-retry-made-better) — Ever need a simple way to retry a block of code in Ruby? Maybe with a maximum number of retries or exponential backoff? The popular [Faraday](https://github.com/lostisland/faraday) HTTP client library has a great built-in solution that it uses for retrying HTTP requests which has been extracted into [Faraday Loop](https://github.com/sutrolabs/faraday_loop) for us to use elsewhere. 

Nate Kontny (Census Engineering) / LostIsland   

[Triggering CI from Pull Requests and Force Pushes in GitHub Actions](https://code.dblock.org/2023/04/29/triggering-ci-from-pull-requests-and-force-pushes-in-github-actions.html) — I’d love to see more practical GitHub Actions tutorials like this as it can feel a little opaque. Here’s how the creators of [slack-ruby-client](https://github.com/slack-ruby/slack-ruby-client/) auto generate pull requests based on Slack API updates. 

Daniel Doubrovkine   [![\](https://copm.s3.amazonaws.com/4dd56786.png)](https://www.cloud66.com/frameworks/rails/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-23-q2-1) 

[Blue/Green Deployments for Rails on Any Cloud](https://www.cloud66.com/frameworks/rails/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-23-q2-1) — Deploy Rails applications hassle-free on any cloud and in any region with full database support, custom traffic rules, zero-downtime deployments, blue/green and canary releases, WAF, and more. Try it today for free, and get $100 in credits with the code:`RubyWeekly100` 

Cloud 66 sponsor   

**QUICK BITS** 

- A quick look at [some lesser known IRB features.](https://blog.lambda.cx/posts/lesser-known-irb-features/)
- RailsConf 2023 took place last week, and some attendees [▶️ went on the Ruby on Rails Podcast](https://www.therubyonrailspodcast.com/468) to talk about the experience.
- 📕 There's just one more day to pick up the next edition of [the Pickaxe / _Programming Ruby_](https://pragprog.com/titles/ruby5/programming-ruby-3-2-5th-edition/) at a big discount using code `RailsConf_Atlanta`
- At RailsConf, the Ruby Central folks launched a '[membership program](https://rubycentral.org/#/portal/signup)' for individuals for $25/mo. Brandon Weaver [explains why he likes the idea](https://dev.to/baweaver/in-favor-of-ruby-central-memberships-15gl) and wants to support it.
- Zak Scott of the Rails issue team posted [a big end of April 2023 update](https://rubyonrails.org/2023/4/28/this-week-in-rails-end-of-april-2023-edition) with some of the latest edge Rails commits and updates.
- The folks at Fly․io have put together a [Welcome to Rails 'cheatsheet'](https://fly.io/ruby-dispatch/welcome-to-rails-cheat-sheet/) which is really a list of handy resources all Rails developers could benefit from.
- [🐦 _"My SaaS makes $50,000 MRR and is built on vanilla Ruby on Rails (not even using Hotwire) and jQuery."_](https://twitter.com/yongfook/status/1653742725882150913)  

📕 Tutorials, Articles, and Videos 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/s9mj6zw0wopgpa0fvbsx.jpg)](https://www.youtube.com/watch?v=KaE9DMP8piI)  

▶[VS Code Extensions for Ruby (That I Use)](https://www.youtube.com/watch?v=KaE9DMP8piI) — A Rails YouTuber ([videos here](https://www.youtube.com/@Deanin/videos)) explains what Visual Studio Code extensions he uses. None are Rails specific and could be used by any Rubyist. 

Deanin   

💡 There's also [a new VS Code release](https://code.visualstudio.com/updates/v1_78) just out with improvements to the terminal, new default dark and light color themes, support for profile templates, a built-in color picker, and numerous other things.  

[Frictionless Developer Environments with Nix](https://blog.testdouble.com/posts/2023-05-02-frictionless-developer-environments/) — How do you know if someone uses [Nix?](https://nixos.org/) Don’t worry – they’ll tell you! 😆 Seriously, though, there are enough benefits to be had that it’s worth understanding it as an option, even if you don’t use it. 

Andrew Coleman   

[🚨 Rails 6.0 Is Hitting EOL on June 1st 🚨 Need to Upgrade Fast?](https://go.fastruby.io/1se) — Let us help with your Ruby or Rails upgrade. Collaborate with the team behind the Rails Upgrade Workshop (RailsConf). 

FastRuby․io | Ruby Tech Debt Services sponsor   

[Creating Custom Rails Generators](https://garrettdimon.com/journal/posts/creating-custom-rails-generators) — Rails generators can help remove friction from the process of spinning up new ideas, but you don’t have to limit yourself to the included ones.. 

Garrett Dimon   

[Rails' _'Dangerous Query Method'_ Deprecation](https://www.fastruby.io/blog/rails/security/dangerous-query-method-deprecation.html) — If you’ve updated a Rails app you might have seen a scary looking ‘Dangerous query method’ deprecation. Luckily, it’s easy to resolve and will make your app safer too. 

Gelsey Torres (FastRuby)   

[Extending Ruby Classes with Modules](https://blog.rubyhero.dev/mixins-prepend-extend-include) — Back to some Ruby OO basics. 

Paweł Dąbrowski   

[Integrate and Troubleshoot Inbound Emails with Action Mailbox in Rails](https://blog.appsignal.com/2023/05/03/integrate-and-troubleshoot-inbound-emails-with-action-mailbox-in-rails.html) 
John Beatty   

[Polymorphic Associations in Rails: Why, What, and How](https://www.akshaykhot.com/rails-polymorphic-associations-why-what-how/) 
Akshay Khot   

[Using a Redlock Mutex to Avoid Duplicate Requests](http://www.panozzaj.com/blog/2023/04/22/using-a-redlock-mutex-to-avoid-duplicate-requests/) 
Anthony Panozzo   

[Whatever You Do, Don't Autoload Rails `lib/`](https://island94.org/2023/05/whatever-you-do-don-t-autoload-rails-lib) — And why. 
Ben Sheldon  

🛠 Code & Tools  

[Authie 4.0: Database-Backed User Sessions for Rails](https://github.com/adamcooke/authie) — Makes it easier to invalidate sessions from afar without making changes to cookies or to see who is currently logged in. 

Adam Cooke   

[MiniSql: A Minimal, Safe SQL Executor for Postgres and SQLite](https://github.com/discourse/mini_sql) — Makes things nicer if you’re using `pg` or SQLite. If you get tangled up in the occasionally crufty native APIs for those, this could help ease things a bit. 

Discourse   

[Flipping Out Over Flipper Feature Flags 🤪🏁](https://www.honeybadger.io/blog/flipper-feature-flags-rails/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby) — Learn how to integrate feature flags into your Rails application using the Flipper gem to test your code at scale. 

Honeybadger sponsor   

[rdom: An Experiment in Server-Side Reactive DOM Updates](https://github.com/aalin/rdom) — Just a proof of concept for now, with the author admitting _“there’s a memory leak in s.rb, which I’m not really sure how to solve.”_ Nonetheless, experiments like this have a way of turning into tomorrow’s reality.. 

Andreas Alin   

[MagmaChat: A Rails 7-based ChatGPT Bot Platform](https://github.com/magma-labs/magma-chat) 

MagmaLabs   

- [Sidekiq 7.1](https://github.com/sidekiq/sidekiq)
 ↳ Popular background job processing system.
- [Twitter 8.0](https://github.com/sferik/twitter)
 ↳ Ruby interface to the Twitter API. ([Changelog.](https://github.com/sferik/twitter/blob/master/CHANGELOG.md#800))
- [rspec-openapi 0.8.1](https://github.com/exoego/rspec-openapi)
 ↳ Generate OpenAPI specs from request specs.
- [Que 2.2.1](https://github.com/que-rb/que)
 ↳ Job queue that uses Postgres advisory locks.
- [MRSK 0.12](https://github.com/mrsked/mrsk)
 ↳ Deploy web apps anywhere from the good ship DHH.
- [Torch.rb 0.13.1](https://github.com/ankane/torch.rb)
 ↳ Deep learning for Ruby, powered by LibTorch.
- [Goru 0.2](https://github.com/bryanp/goru) – Concurrent routines for Ruby.
- [ruby-pg 1.5.3](https://github.com/ged/ruby-pg) – Postgres client library.
- [HTTPX 0.23.0](https://gitlab.com/os85/httpx)    

Jobs  

[Senior Backend Engineer (Remote - EMEA)](https://booqable.com/careers/backend-developer/) — Booqable prides itself on being a global company with team members working together from across the world. We are remote-first, so you can join us from wherever you are. 
Booqable   

[Find Ruby Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=easy-job-hunting) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired    

💡 An improvement to last week's tip?  

[Last week](https://rubyweekly.com/issues/651) we included a handy tip for using [Caddy](https://caddyserver.com/) and `mkcert` to locally use 'fake' domains of your choice for development purposes. The tip works well, but reader Gamaliel Toro wrote in to point out that Caddy now has this feature _built in_ and you might find it an easier approach. 

He's [written up the technique in this gist](https://gist.github.com/argami/f4ebf6025ea15460e2f7a68bccd12aca) – I struggled to make it work on my first attempt, but this is a last minute addition to the newsletter and the feature does indeed appear to be offered by Caddy. If all else fails, though, the tip in last week's issue still works 😉         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom   

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
