#440 — March 7, 2019

Read on the Web

Ruby Weekly

▶  What's New in Rails 6 — Last week’s release of Rails 6 beta 2 has us all interested in Rails 6 again, and here we get to see the new bits in a tight, well-produced video (11 minutes).

Drifting Ruby

RubyGems Updated Due to Vulnerabilities — Several vulnerabilities, including one where a gem author could package a gem in such a way as to delete arbitrary directories, get fixed in 3.0.3 and 2.7.9 so upgrade now.

Hiroshi Shibata

DevOps Monitoring, for Developers. *Gasp* 😲 — Honeybadger simplifies your production stack by combining exception monitoring, uptime monitoring, & check-in monitoring into a single, easy to use platform. Surprise & delight your users by fixing errors before they even have a chance to complain.

Honeybadger sponsor

Ten Steps for Securing Your Web Applications“Security is hard.” This post helps you handle both intended and unintended functionality. Make it a checklist for your apps.

Joe Kutner (Heroku)

Webpacker 4.0 Released — Webpacker makes it easy to use the popular webpack JavaScript bundler with your Rails apps. If you need to upgrade from using Webpacker 3.5, here’s an upgrade guide.

Ruby on Rails

Ruby Trickery“Please, do not use any code in this blog post in production systems. It can cause weird behavior.” Still, these tricks (things like overriding addition and playing with unary methods) are kinda fun.

Ryan Bigg

💻 Jobs

Ruby on Rails Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.


Software Engineer - Backend (Poland) — Help us bend Ruby and Elixir to our will on our quest to revolutionize the beauty and wellness industry.


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


📘 Articles & Tutorials

Ruby's Hidden Gems: StringScanner — If you’ve not used the StringScanner class (it’s part of Ruby’s standard library), this post on using it to parse a log message into a JSON object will be fruitful.

Michael Kohl

A Look at MJIT Support in Ruby 2.6

Sudeep Tarlekar

Ruby’s Many CLI Option Flags and How To Use Themruby -c -w -e 'puts "Ruby has more CLI options than you probably expect."' What do you think that does?

Jesus Castello

Why Don't We Validate Controller Parameters? — Validations are standard practice in ActiveRecord, but what about in controllers for params? apipie-rails makes it easy.

Igor Springer

New Microsoft Azure Elastic Agent Plugin for GoCD — Run your CI/CD pipelines on Azure virtual machines. Let GoCD scale up on-demand agents based on your needs.

GoCD sponsor

Rails 6 Adds Negative Scopes on Enums — In other words, it adds not_ prefixed scopes on enum attributes.

Abhay Nikam

Approaches for Speeding Up Your Rails Apps — You’ve probably heard all of this before, but can you ever hear it enough?

Daniel Lempesis

Debugging Sidekiq Poison Pills“That one time a memory leak almost took down one of our apps – and how we fixed it.”

Brittney Johnson (Gusto)

Solving Slack-Side Disconnects in slack-ruby-client — The story & approach behind debugging an issue experienced by users of a Slack client library.

Daniel Doubrovkine

Deconstructing Shopify's Monolith — Shopify has one of the largest Ruby on Rails codebases in existence and its system was, for years, a huge monolith. This post looks at the limits they ran into and why and how they migrated to a microservices-based approach.

Kirsten Westeinde (Shopify)

🔧 Code & Tools

StoreModel: A Gem for Handling JSON-Backed Attributes as ActiveRecord Models — Rather than deal with JSON columns as hashes, treat them as mini models of their own.

Dmitry Tsepelev

mrubyc/c: An Alternative Implemention of mrubymruby is a lightweight, embeddable Ruby interpreted being worked on by Matz himself. This, however, is an alternative implementation aimed at even smaller memory use cases (down to 40KB memory size).

Shimane IT Open-Innovation Center

Pagy 2.0: The 'Ultimate' Pagination Gem — Works with all Rack-based frameworks and is storage/ORM agnostic. 2.0 improves i18n support, is faster, and works on more versions of Ruby than before.

Domizio Demichelis

Share Your Whole Stack with Your Team with One Workflow 👩‍💻

Manifold sponsor

slack-ruby-client: A Ruby Client for Slack's Web, Real Time Messaging and Event APIs

Daniel Doubrovkine, Artsy and Contributors

PyCall: Call Python Functions from Ruby

Kenta Murata