#434 — January 24, 2019

Read on the Web

Ruby Weekly

The Ruby Toolbox: A Handy Catalog of Ruby Gems — Around for years, then abandoned, and now being actively worked on again, the Ruby Toolbox is a great way to explore and compare open source Ruby libraries. It’s recently been getting lots of neat enhancements.

The Ruby Toolbox

The First Beta of Rails 6.0 is Here — It’s almost 3 years since Rails 5 was first released, so this is pretty exciting. As well as supporting new things like parallel testing and built-in multiple database support, Rails 6 also features two new frameworks: Action Mailbox and Action Text.

David Heinemeier Hansson

Level Up Your Knowledge of Ruby's Exception System — Ruby's exception system is more powerful than many people realize. This book shows you how to get the most from it.

Honeybadger sponsor

Run.rb: Run Ruby in the Browser using WebAssembly — Pronounced “runner bee”, this project is Ruby 2.6 compiled to WebAssembly so you can execute Ruby without leaving the browser. It’s still very basic, but the promise is real and you can play with the demo here.

Jason Charnes and Will Glynn

Zeitwerk: An Efficient and Thread-Safe Code Loader — Provides a way to forget about requires in your code - just name things following a convention and you’re done. “The original goal of this project was to bring a better autoloading mechanism for Rails 6.” It’s not in Rails 6 yet but is due for beta 2.

Xavier Noria

Using OAuth to Access Google Services from a Ruby Script — Like Martin, I’ve found this a pain in the past, so it’s great he’s documented the process. If you want to interact with something like, say, YouTube’s API, this will be a lifesaver.

Martin Fowler

💻 Jobs

Sr/Software Engineer - The Age of Privacy Is Here. (SF Bay Area) — DataGrail helps customers offer transparency and control of personal data. Rails. Go. CI/CD. Modern stack.


Senior Ruby Developer — We are the best camera app for contractors. Join the team and help us scale our infrastructure to handle the 50+ million photos we will process this year.

CompanyCam, Inc.

Find A Job Through Vettery — Vettery specializes in developer roles and is completely free for job seekers.


📘 Articles & Tutorials

Ruby Tricks for Junior Developers — As you level up in Ruby, there are many intermediate and advanced functions and techniques that will help you discover more of the language. Here are just a few including the safe navigation operator and the dig method.

Clement Bruno

Why Ruby Doesn't Have A Boolean Class — Ruby has TrueClass and FalseClass, but no Boolean class to unite the two. What gives??

Avdi Grimm

Use Lead Time Metric to Improve Your CI/CD Process — GoCD’s latest CD metrics blog will guide you how to identify bottlenecks and improve your CI/CD process.

GoCD sponsor

Building and Deploying a Ruby Slack Bot on AWS Lambda — This step-by-step tutorial lambda-fies a Sinatra app.

Mutually Human

Launching Your Own Ruby Gem: Popularizing It Within The Ruby Community — Once you’ve built your gem, you’ll want to encourage to use and maintain it, which boils down to docs, marketing, and presentation.

Paweł Dąbrowski

Using Google reCAPTCHA v3 with Turbolinks — reCAPTCHA v3 is essentially a hidden, score-based CAPTCHA but you’ll need to write some extra code to let it work with Turbolinks-powered pages.

Sven Pachnit

First Explorations of GitHub's New 'Actions' System — The tale of automating the workflow of releasing a Ruby gem, based off of the GitHub Action for npm.

Floor Drees (Phusion)

Use Multiple Migrations When Adding Database Constraints — If you don’t do this correctly, you could be looking at downtime as your DB catches up.

Andy Croll

Best Practices for Improving Page Load Speed Whitepaper. Download Now.

Cloudinary sponsor

The autoload Method in Ruby

Mehdi Farsi

Ruby Memory, ActiveRecord, and Draper — How Appaloosa tracked down an ActiveRecord method that was ballooning CPU and memory usage under load. These kinds of posts are very valuable.

Appaloosa Store

🔧 Code & Tools

macinbox: Puts MacOS Mojave into a Vagrant Box

David Kramer

script_core: A Script Engine Powered by mruby — A fork of Shopify’s ‘enterprise script service’ that can be used to execute untrusted Ruby code in a sandbox.

Rails Engine

James Cox Working on Awesome Print 2.0Awesome Print is a long-standing ‘pretty printer’ for Ruby objects and some new life is being breathed into it - use 2.0.0.pre or --pre to grab it for now.

James Cox

40 Best Ruby Gems We Can't Live Without — I feel like it’s been a while since we posted one of these so, here you go, a roundup of some goodies.

Sergiy Volkov and Rostyslav Korin