#422 — October 25, 2018

Read on the Web

Ruby Weekly

Yabeda: A Modular Framework for Instrumenting Ruby Apps“Adopt metrics-driven development with an extendable framework that supports Rails, Sidekiq, and Prometheus out of the box.” There’s a lot to dig into here.

Evil Martians

Distributed Cron for Rails Apps with Sidekiq Scheduler — This is a nice article on what has to be a common issue in larger applications that have background jobs.


Scaling Out Multi-Tenant Rails Apps on Postgres, the Citus Way — The activerecord-multi-tenant Ruby gem is Lukas’s recommended gem if you want to make it easy to scale out your multi-tenant Rails app on Postgres & Citus.

CITUS DATA sponsor

Hyperstack: Build Client-Side Webapps with Ruby — Formerly known as Hyperloop, Hyperstack is a Ruby-based DSL and toolkit for building front-end webapps where the Ruby code gets compiled into JavaScript using Opal.

Chang, VanDuyn, Creekroad, et al.

Hanami v1.3.0 ReleasedHanami is an interesting Ruby webapp framework that’s been growing in popularity recently. This latest release switches testing over to RSpec and they have a fantastic new ‘guides’ site with tutorials on getting started with Hanami for yourself.

Luca Guidi

Thoughtbot Opens Up Its Online Ruby Courses to Everyone — Some years ago, Thoughtbot launched Upcase, a platform for learning Ruby and Ruby-related skills via online courses. This is now free for everyone and includes courses on TDD, Vim, Git, advanced ActiveRecord, etc.


Cache Invalidation Complexity: Rails 5.2 and Dalli Cache Store — Rails 5.2 adds a way to configure recyclable cache keys, which will not work if you’re using the Dalli Cache store. Here’s why, followed by what to do.


💻 Jobs

Senior Ruby Engineer (Portland, OR or Pasadena, CA USA) — Seeking a mid/senior Ruby engineer to help us change the live events industry. This is a great chance to make a huge impact.


Mid-Level Full Stack Engineer @ HITRECORD (Full Time, Los Angeles) — Looking for an experienced Angular/Ruby & Rails developer to join a small but dynamic team to grow a platform for creative collaboration.


Join Our Career Marketplace & Get Matched With A Job You Love — Through Hired, software engineers have transparency into salary offers, competing opportunities, and job details.


📘 Articles & Tutorials

Tab Completion in GNU Readline: Ruby Edition — A look at both using Readline to create text inputs in a Ruby CLI app and then how to add tab completion to those inputs.

George Brocklehurst

How To Execute RSpec in Parallel Locally

Leszek Zalewski

The Innards of a RubyGem“Gather ’round children, and let grandpa recount the ways of the old days when life was hard, and installing gems was a headache-inducing, hair-pulling, teeth-gritting ordeal.”

Robert Beekman

Rails 5.2 Adds DSL for Configuring the 'Content Security Policy' Header — CSP can be used to specify domains that are valid sources for various assets (scripts, images, fonts, etc.)

Sushant Mittal

Nine Tips for Rails Migration Mastery — Just can’t ever have enough tips on migrations.

Michael Nelson

CircleCI Launches Support for GitHub Checks — Now integrating with the GitHub Checks API, so you can see the status of your workflows under the Pull Request Checks tab in the GitHub UI.

CircleCI sponsor

Ruby 2.6's Range#cover? Now Accepts a Range Object As An Argument

Abhay Nikam

Debugging a Silently Failing Webpacker Compilation — The lesson: “don’t put webpack-cli package only as a dev dependency if you need to do the compilation on the server.”

Josef Strzibny

How Does Devise Keep Your Passwords Safe? — or, “Tales from the enCRYPTion” (What? It’s almost Halloween.)

Tiago Alves

Writing Less Error-Prone Code — Valuing readability over conciseness along with enabling “copy & paste”-ness lead to less error prone test code in the long run.


🔧 Code & Tools

minitest-mock_expectations 1.0.0 Released — An alternative to Mocha if you’re in the minitest ecosystem. GitHub repo.

Bogdan Denkovych

TTY::Config: Define, Read and Write Ruby App Configurations

Piotr Murach

Falcon: A Modern High-Performance Web Server for Ruby, Supporting HTTP/2 and HTTPS Out of the Box — We featured this last week, but just in case you missed it..


Monitor and Analyze Ruby App Performance in Real-Time. Try Datadog Free

Datadog sponsor

Sail: An Admin Panel for Managing Config Settings on a Live Rails App

Vinicius Stock

Salus: A Security Scanner Coordinator — A tool for coordinating the execution of security scanners, such as Brakeman and npm audit, that are appropriate for the given context.


PyCall: Call Python Functions from Ruby

Kenta Murata