#458 — July 11, 2019

Read on the Web

Ruby Weekly

strong_password v0.0.7 Ruby Gem Hijacked — Here is an example of why being diligent with your dependencies is a must. Tute was looking at the changelogs for gems in their app and found out one had been sneakily taken over. Snyk also has a good writeup of the problem.

Tute Costa

▶  Discussing Sorbet, the Ruby Type Checker, with Paul Tarjan — Two weeks ago, we covered Stripe’s open sourcing of Sorbet, a powerful type checker for Ruby. In this brief 20 minute podcast, Sorbet’s technical lead explains the project.

Ruby on Rails Podcast podcast

Stream Unveils Its Official Ruby SDK for Chat — Stream Chat is more powerful than ever with its SDKs for various languages, which now include Ruby. View the official Ruby SDK on GitHub.

Stream sponsor

TimeCalc: A Simple, 'Next Gen' Time Arithmetic Library — The API here is not without its oddities, but I think it’s a neat way to approach working with times without any dependencies. For example: TimeCalc.(t).+(3, :months)

Victor Shepelev

Rails 6 Errors: The Good, The Bad, The Ugly — An exploration of what’s awesome, what’s not so great, and what’s downright confusing when it comes to debugging errors on a Rails 6 app. (By the way, if you’re wondering about the progress of Rails 6, 6.0.0 RC1 is still the latest version out.)

Avdi Grimm

Rails 6 Adds Hooks to Active Job Around Retries and Discards — If you haven’t worked with Rails for a while, the whole area of Active Support instrumentation may be interesting to you – it’s pretty powerful.

Vishal Telangre

ApexCharts.rb: Interactive, Responsive Web Charts for Ruby Apps — Wraps ApexCharts, a popular JavaScript charting library, and makes it easy to render charts from your ERB views.

Adrian Setyadi

💻 Jobs

Senior Full Stack Engineer - New York City — We help our clients leverage their marketing data. As a Sr. Full Stack Engineer, you’d develop our products through Ruby and JS.


Senior Software Engineer (Santa Barbara or Remote) — Join a team where everyone is striving to constantly improve their knowledge of software development tools, practices, and processes.


Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.


📘 Articles & Tutorials

Discovering the Design Pattern at the Heart of Rack Middleware — Developers at Simply Business extracted the middleware pattern used by Rack for a data migration pipeline and are hoping you’ll help them name (or identify) the pattern.

Daniel Barlow

How to Test Ruby Methods That Involve puts or gets — The RSpec-oriented answer in this case is to use test doubles. Another technique I use myself is to use puts and gets directly upon an object (e.g. STDIN and STDOUT) you can switch out.

Jason Swett

Fully Managed Operations Solutions for Large & Small Teams — Do you need 24/7 support, without the overhead of dedicated staff?

reinteractive | OpsCare sponsor

My Experience Architecting A Software Development Stack with JRuby, OpenJDK, and Roda — I found this article in a tweet from Charles Nutter calling it “arguably the best way to serve a high-throughput Ruby web endpoint.” I am not arguing that point.

Retro Axis

How to Deploy AnyCable with Capistrano and systemdAnyCable has billed itself as “Action Cable on Steroids” that can run in a separate process from your Rails app, so why not have systemd manage it?

Igor Alexandrov

Handling HTTP Headers in Grape with Rack and Rails

Daniel Doubrovkine

How to Store Secure Encrypted Data in Rails Without Gems — It doesn’t take much code to add encryption to your models and data, allowing you to avoid LOC-heavy gems.

Paweł Urbanek

10 Tips When Using the VCR Gem in Your Ruby Test Suite

Fabio Perrella

Building Messaging Between Ruby/Rails Applications with ActiveMQ — ActiveMQ is a popular message broker that supports multiple protocols and has an AWS-hosted service option.

Kirill Shevchenko

Founders/CTOs: We Upgrade Rails So That Your Team Doesn’t Have To

Upgrade Rails sponsor

The Experience of Upgrading a Rails App from 3.2 to 4.2

Peter Toth

How to TDD When TDD Is Hard — You don’t know what you’re doing, you don’t know where to start, it’s all just another thing getting in the way of your work..? If you’re frustrated with test driven development, Aaron has some advice.

Aaron Sumner

🔈 Podcasts

▶  A 45 Minute Chat with Aaron Patterson at RailsConf — One for all you tenderlove fans out there! (For anyone unfamiliar with Aaron, he’s on both the Ruby and Rails core teams and is well known for his superb talks.)

The Bike Shed

▶  Talking About 'Stimulus', Basecamp's JavaScript Framework — JavaScript, you say? Well, yes.. Stimulus is an interesting JavaScript framework designed to integrate easily with Rails apps.

Ruby Rogues Podcast