#513 — August 6, 2020

Read on the Web

Ruby Weekly

Noticed: Notifications for Rails Apps — Supports database, email, Action Cable, Twilio, Slack, and custom delivery methods. There’s a 12 minute screencast showing it off too.

Chris Oliver

Types in Ruby 3, RBS, and Sorbet — If you missed last week’s issue and the piece on RBS and typing in Ruby 3.0 it might be worth catching up, but this goes a step further in explaining how it relates to Sorbet, an existing and popular type checker for Ruby.

Jake Zimmerman

Scout APM: Get Back to Building Great Products — Scout is application performance monitoring that gets Ruby developers back to coding faster. Scout streamlines proactive & real-time insight so you can quickly pinpoint & resolve issues before the customer ever sees them. Start your free trial today.

Scout APM sponsor

The Active Job Style Guide — A list of best practices for working with background jobs in Ruby using Active Job with Sidekiq as the backend.

Filipp Pirozhkov

Prawn 2.3.0: The PDF Writing Library for Ruby — There hasn’t been a release in over three years, so this is newsworthy. 2.3 also adds OTF font support and supports up to Ruby 2.7.

PrawnPDF

⚡️ Quick bytes:

💻 Jobs

TrueCoach Is Hiring a Senior Backend Engineer — TrueCoach, the leading platform for online personal training and coaching, is hiring an experienced Ruby/Rails engineer.

TRUECOACH

One Application, Hundreds of Hiring Managers — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

ℹ️ Interested in running a job listing in Ruby Weekly? There's more info here.

📘 Articles & Tutorials

How to Test Ruby Code That Depends on External APIs — Few things are more frustrating than slow, flaky test suites. There are a few ways to make things more robust, like stubbing, mocking servers, VCR.. and José looks at a couple of options here.

José M. Gilgado

A Visual Guide to Webpacker — Navigate the world of Webpacker and webpack on Rails with increased confidence using this collection of mental maps/diagrams.

Ross Kaffenberger

Troubleshooting Encoding Errors in Ruby — From the Honeybadger Developer Blog featuring tutorials & good advice by the coolest error monitoring solution around. 😎

Honeybadger sponsor

Idiosyncratic Ruby: Assignments In-Style — Also called “pattern assignment”, 2.7 introduces a way to assign variables using pattern matching.

Jan Lelis

How to Improve ActiveRecord Performance with Subquery Caching — It’s a bit of a process: Analyze slow queries, isolate subqueries into memoized methods, cache one or more of the subqueries. Oh, and refresh the cache when necessary.

Paweł Urbanek

Enhanced Shell Scripting with Ruby — A set of tips that will start you on the path of adding Ruby to your shell scripting toolbox.

DevDungeon

A Rubyist's Look at the Apple Silicon Developer Transition Kit — A peek behind the curtain surrounding Apple’s forthcoming move from x86 to its own ARM-based silicon and how it will affect Rubyists in particular.

Drifting Ruby

▶  Discussing Rails Deployment using Docker and Kubernetes with Cameron Dutro — Covering deploying Rails applications using Docker and Kubernetes and Cameron’s Kuby Kubernetes deployment tool.

Rails with Jason Podcast podcast

🛠 Code and Tools

Path Tracer: Accelerated Path Tracing in Pure Ruby — I remember when POV-Ray was the cutting edge of ray tracing in DOS and it took days to render anything decent.. now Ruby can produce similar output in a few minutes. It requires a little work to get this running (you need to supply a env1.jpg file that it can use as a texture) but it does work.

Anmol Gautam

Ancestry: Organize An Active Record Model Into a Tree Structure — If you’ve got hierarchical or tree-like data to represent in Active Record, this is for you.

Stefan Kroes

Troubleshoot Ruby App Issues Fast with Datadog’s End-To-End Tracing

Datadog sponsor

JRuby 9.2.13.0 Released — This release is 2.5.x compatible and may be the last release before 9.3.0.0.

JRuby

ValueSemantics: A Gem for Making Value Classes, with Lightweight Validation and Coercion

Tom Dalling

ROTP: The Ruby One Time Password Library — Generate and validate one time passwords (HOTP and TOTP) according to RFC 4226 and RFC 6238.

Mark Percival

Brakeman 4.9.0: A Security Vulnerability Scanner for Rails Apps

Justin Collins

Chartkick 3.4: Beautiful JavaScript Charts in One Line of Ruby — See some examples, along with code, here. Works fine with Rails 6 and Webpacker, etc.

Andrew Kane