🇺🇦 #​605 — May 26, 2022

Read on the Web

Ruby Weekly

2022 Ruby on Rails Community Survey Results — Over the past 13 years, Planet Argon has run several surveys like this. We encouraged you to take part, as usual, and the answers from 2660 folks (skewing heavily to long-time Rails developers) are now boiled down into the results:

  • Devise is both the most loved and most frustrating gem!
  • Ruby 2.7 remains the most popular Ruby version in use.
  • GitHub Actions has become the most popular CI system on its first showing in the survey, pushing Circle CI down to #2.
  • rbenv remains the most popular Ruby version manager but the use of asdf is rapidly growing as RVM dips.
  • Most Rails apps are not being updated to the latest version quickly.
  • Remote working dominates and most dev teams have continued to get larger.

Planet Argon

Webinar: How to Create the Right Indexes for Your Rails Apps — We provide a deep dive into how Postgres deterministically chooses which index to use for a specific query and walk through a methodology for analyzing queries & creating and optimizing indexes. Register now and join our webinar on June 16th, 9:30am PDT.

pganalyze sponsor

Mocktail: A Test Double Library with a Terse API for Creating Mocks — Mocktail has a simple API and offers detailed errors, argument matchers, and thread safety and Justin Searls did a five-minute lightning talk at RailsConf 2022 showing it off. The README is particularly thorough.

Test Double

Quick Bits:


🔴💎 Oportunidad Sr RoR Engineer / Team Lead ✨🚀 (Remote in Spain) — Do you love Ruby, Rails & GraphQL? Do you and enjoy working as a part of a product team? Working across platforms Web&Mobile? Apply!

Senior Ruby on Rails Developer (Remote-Friendly) — Software Development Agency in Wrocław, Poland working with experts from around the globe to create meaningful software.

Ruby DevOps Engineer (Paris or Remote) — You enjoy setting up systems for scalability and reliability, automating deployment and ops tasks? Apply now.
RingCentral Engage Digital

Find Ruby Jobs Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

📕 Articles & Tutorials

▶  How to Add a Command Palette to a Rails App — Have you ever pressed Cmd+K (or Ctrl+K) on GitHub and seen a box pop up that you can type commands into? It’s an interesting ‘power user’ feature and you can add a similar thing to your own apps. Chris uses Ninja Keys here, but kbar is another to consider.

Chris Oliver

An Introduction to PolymorphismPolymorphism means slightly different things in different areas of computer science, this post quickly digs into what it means in Ruby and where it can help clean up code in a Rails app.

Jesse McDermott

📜  The Practical Effects of the GVL on Scaling in Ruby — This is from 2020 and the Ractors mentioned within are now a Ruby 3 core feature, but this meaty post on concurrency and parallelism came up in conversation recently and I still think it’s useful. There’s always a lock, it’s just a matter of where it’s implemented!

Nate Berkopec

Agile Localization Platform: Develop, Translate, Deploy - Reiterate

WebTranslateit.com sponsor

Performance in Context — Benchmarks done in a test (or any non-production) environment may (and likely won’t) match production which could lead you to make the wrong decisions about your code.

Jorge Manrubia (Hey)

▶  On Building Desktop Apps in Ruby — An hour long episode with Andy Maleh, the creator of Glimmer, a Ruby DSL framework for building GUI apps using various GUI frameworks like Tk, GTK and Swing.

Ruby Rogues podcast

Scraping Buy: Scripting for a Purchase — It’s simple and crude but Ruby is a perfect match for this sort of temporary useful scripting and, well, Kevin managed to get the guitar he wanted.

Kevin Murphy

▶  Rails Hiring is Still Hot
The Ruby on Rails Podcast podcast

🛠 Code & Tools

Ruby SMTP Mock: Mimic SMTP Server Behaviour for Your Test Environment — This project has quite a theatrical logo! It’s test framework agnostic and provides a lot of configuration for you to test various aspects of working with an SMTP server including rejection and error states.

Vladislav Trotsenko

IoMonitor: A Way to Detect Potential Memory Bloat — Push this into your Rails app and get more insight into when a lot of I/O (through either Active Record or Net::HTTP for now) is resulting in not a lot of output.

Dmitry Tsepelev

Couchbase Capella DBaaS: Store JSON, Query in Milliseconds — All in one caching, automatic replication and scaling database with SQL. Try it now for free, no credit card required.

Couchbase sponsor

Anyolite: Embedded mruby/Ruby for Crystal — Anyolites allows Ruby to act as a scripting language for Crystal projects.


Steep 1.0: A Static Type Checker for Ruby
Soutaro Matsumoto

Combustion: Simple, Elegant Testing for Rails Engines
Pat Allan