#477 — November 21, 2019

Read on the Web

Ruby Weekly

Ruby Next: A Way to Transpile Modern Ruby Code to Run on Ruby 2.5 or mruby? — If you’ve used Babel in the JavaScript world, the concept here may be familiar to you. Ruby Next is designed to let us code using cutting edge (or even experimental) Ruby features and then transpile that code to run on Ruby 2.5 or mruby, say. It's still early days, but interesting. Here’s a slidedeck with more info.

Vladimir Dementyev

Isolating Rails Engines with RuboCopEngines provide a convenient way to break larger apps into a loosely coupled collection of smaller ones. Here’s how Flexport uses RuboCop to help programmatically enforce the isolation of their engines.

Max Heinritz

Production-Grade Redis — Better monitoring, seamless scaling, durable and portable Redis hosting supporting all the latest features.

RedisGreen sponsor

10 New Things in Active Record (in Rails 6) — A neat roundup that covers things like rails db:prepare, database switching, #annotate, #touch_all and implicit ordering by a specific column (which is nicer than using a default scope).

Jason Dinsmore

▶  The Raw RubyConf 2019 Video Streams — RubyConf took place in Nashville earlier this week and while we’re waiting for the videos to be separated and shared properly, you can already see all three days of full streams on YouTube. We’ve linked here to Matz’s opening keynote, but will link to more videos individually in future issues.

RubyConf 2019

Rails 6: The Missing Developer Setup Guide — Going beyond the Rails Guides, Vincent sets up VS Code, Webpacker, Growl, reproducible environments, Heroku, and more. Whew. One for either beginners or if you’ve simply not started a Rails app from scratch for a while.

Vincent Voyer

💻 Jobs

Software Developer - Ruby — Join our team and help to realize international cloud-native software projects based on Ruby on Rails.


Senior Rails Engineer (Remote) — Ruby on Rails (5.2), Stimulus, Postgres & Heroku — We strive to keep our frameworks/libraries up to date. Perks: Remote team, competitive pay, meaningful company equity.


Find a Job Through Vettery — Make a profile, name your salary, and connect with hiring managers from top employers. Vettery is completely free for job seekers.


A Picture of the 'Post Your Jobs Here' Notice Board at Ruby Conf 2019 — It's hard to make out, but don't feel like you missed out if you couldn't attend RubyConf. Zoom in far enough and you may find the job of your dreams 😄

📘 Articles & Tutorials

How to Update Counter Caches in Your Rails App Without Active Record Callbacks — A Postgres-focused approach to keeping your counter caches in sync using nothing but database triggers.

Dmitry Tsepelev

Dealing with Similarity in Postgres and Rails using Trigramspg_trgm is a core Postgres module that provides functions for determining the similarity of strings based on trigram matching.

Leigh Halliday

Are You Running Rails 6 in Production? Great, Follow These Steps to Stay Up to Date — FastRuby.io has upgraded hundreds of applications. Implement their tips to never fall behind again.

FastRuby.io sponsor

▶  Testing Times and Dates with Rails — Rails provides several helper methods for testing times and dates in your apps. Freeze time and time travel like a superhero 😂


How I Approach Test Coverage Metrics“Test coverage is a useful metric but only in a very approximate and limited sort of way.” Comparing 90% coverage to 100% coverage really isn’t a great use of your time.

Jason Swett

Working with Capistrano: Tasks, Roles, and Variables

Piotr Murach

Write One Test — Much, much better than none..

Andy Croll

🛠 Code and Tools

Browser: A Browser Detection Library — A handy API for browser detection from within Ruby. Pass in a user agent string and query it in various ways (e.g. browser.webkit? or browser.device.name). Includes ActionController integration, as well as optional Rack middleware for agent-based redirections.

Nando Vieira

A Tetris Game Powered by Ruby2D — A neat little example of creating a simple game in Ruby especially as it’s under 200 lines of code (all in one file).

Victor Maslov

Chatwoot: Simple, Open Source Live Chat Software — Bills itself as a Rails-based open source alternative to a service like Intercom.


JetBrains RubyMine: Cross-Platform IDE for Ruby & Rails Development

JetBrains sponsor

Shrine 3.1: The File Attachment Toolkit for Ruby Webapps


Ruby Trello API: An Implementation of the Trello API for Ruby — For users of the popular Trello list-management webapp.

Jeremy Tregunna