#​621 — September 22, 2022

Read on the Web

Ruby Weekly

Proposal: Extending HereDocs to Support Multiple Languages? — To set the scene here, Matz’s initial reaction to this proposal was “There’s still half a year left until April Fool’s Day.” The idea here is to be able to specify a format/language against heredocs (somewhat as with Markdown code blocks) and to then process those documents dynamically in a custom method. Joke or not, when such an esteemed core team member has an idea, it’s worth checking out, and plenty of jokes have taken off (SOAP.. LINQ.. 😏)

Koichi 'ko1' Sasada

Debug Ruby Apps in Production Without Stopping Them — Rookout provides developers real-time access to code-level data, logs, traces, and metrics to troubleshoot and debug their cloud-native applications in any environment including production. Debug without having to recreate, redeploy, or stop the app.

Rookout sponsor

'How Do I Test X' Is Almost Always Answered with 'By Controlling X' — The sort of insight you probably already have but never put into words before. The next question is, well, how do you control X? The author explores the idea with some simple Ruby code and considers the importance of dependencies.

Bèr ‘berkes’ Kessels

Synvert 1.0: A Tool to Rewrite Ruby Code Automatically — It’s been a few years since we mentioned Synvert, but 1.0 is now here. You write 'snippets' that then dynamically rewrite existing Ruby code (see this flash / redirect_to example from 2017. I gave it a try – it’s a little touchy to set up, but did work.

Xinmin Labs


📖 Articles, Stories & Videos

A Hybrid Docker and Ruby Development Environment — As well as being a handy way to deploy software, containers can be handy for isolating dependencies at development time, so you run Ruby and Rails on your machine dev-style but MySQL and Redis, say, can be managed by Docker.

Dean PC Mad

How to Install (Or Get Rid Of) 'therubyracer' on M1/M2 Macstherubyracer provides a way to work with the V8 JavaScript runtime from Ruby and has come in very handy over the years, particularly with Rails’ asset pipeline. It doesn’t support modern M1/M2-based Macs though, and.. you no longer probably need it anyway.

Moncef Belyamani

Free eBook: Advanced Database Programming with Rails and Postgres — Learn about subqueries, materialized views, and custom data types in Postgres & Rails and follow along with our examples.

pganalyze sponsor

How One Team Upgraded Its Apps from Rails 6 to Rails 7 — 6 to 7 wasn’t one of the biggest shifts, thankfully, but there were still some challenges, such as in moving from attr_encrypted to Active Record Encryption.

Abhishek T

Deploying Rails with Docker and AWS Fargate — AWS Fargate (essentially a serverless-eque approach to running containers) can simplify the convoluted process of deploying Docker on Amazon’s Elastic Container Service (ECS).

Aestimo Kirina


🛠 Code & Tools

Occams Record: An Advanced Query Library to Sit Alongside Active Record — Keep using Active Record but get a little bit extra with Occams Record. It lets you customize SQL, use cursors, use eager loading against raw SQL, and more.

Jordan Hollinger

Holidays 8.6: Methods to Deal with Special Days — Days off, vacations, public holidays.. whatever you call them, they’re special days that your app may well need to handle in some way. Holidays makes it possible and covers numerous countries with its YAML-based definitions.

Holidays Team

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

ToResult: A dry-monads Wrapper Bringing the Railway Pattern to Rubydry-monads is a member of the popular ‘dry’ family of Ruby libraries that brings, unsurprisingly, monads to Ruby. ToResult aims to reduce the amount of boilerplate needed and make Do, Result, and Try easier to use.

Christian X


Serving Podcasts with RoR? ✅ — Join our experienced and friendly team as a Software Developer (f/x/m) and work on a high-traffic RoR app serving a growing industry.
Podigee GmbH

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.