#479 — December 5, 2019

Read on the Web

Ruby Weekly

Ruby 2.7 Adds Shorthand Syntax for Argument Forwarding — In short, you can use the syntax ... in parameter or argument lists to basically ‘pass through’ (or forward) arguments from one method to another. “It acts similar to calling super without any arguments.”

Narendra Rajput

What’s New in Ruby 2.7? — There’s a lot coming in 2.7 (due on Christmas Day), including controversial features like pattern matching, numbered parameters, and keyword argument changes. Also, this will be the last point release before 3.0 a year from now.

Guy Maliar

Powerful CI/CD Pipelines. Pay Only for What You Use — Built for developer productivity, Semaphore lets you model your CI/CD workflow with fully-customizable pipelines. With our pricing model, you pay for only what you use. Sign up for free with GitHub and give it a try today.

Semaphore sponsor

▶  JRuby: From Zero to Scale — Two of the creators of the JRuby project (the JVM-based Ruby implementation that’s now 18 years old) talk about its history, how it compares to CRuby/MRI, how to scale it, and more.

Charles Oliver Nutter and Thomas E Enebo

Main Takeaways From Matz's RubyConf 2019 Keynote — We linked to the keynote video last week, but appreciate not everyone enjoys watching videos.. here’s some written impressions instead.

Snir David

Ruby Conferences ‘n’ Camps in 2020 - What’s Upcoming? — A list of 14 events (so far) coming up in 2020 for Rubyists.

Planet Ruby

💻 Jobs

Software Engineer (San Francisco) — Help us fix technical hiring. We're growing our team and are looking for full-stack, frontend, ML and dev-ops engineers.


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.


📘 Articles & Tutorials

Using Rubyfmt with AtomRubyfmt is inspired by Go’s gofmt formatting tool and enforces styling choices, such as indentation, etc.

Nick Schwaderer

Ruby Literals You May Not Know — Be rational and read this (not really) complex post to improve your character by a endless percent.

Michael Kohl

From ActiveRecord Callbacks to Publish/Subscribe Pattern and Event-driven Design — Move away from callbacks with the Wisper gem as the first step in your journey to better distributed application design.

Karol Galanciak

How to Build Realtime Presence Function in Ruby — Tutorial demonstrating the Ruby realtime library in action, shows how to build presence function with EventMachine.

Ably sponsor

▶  From jQuery to ES6 — Yes, this screencast covers JavaScript but it’s aimed at Rubyists or very casual JavaScript developers who might be intrigued how things have changed since the jQuery era.

Drifting Ruby

Overpacking.. A Common Webpacker Mistake — If you’re using Webpacker and your asset compilation is taking a long time, maybe you’re an overpacker?

Ross Kaffenberger

A Brief Interview with Eileen Uchitelle — We included this in the newsletter several weeks ago, but if you missed it, here’s a few questions with Eileen Uchitelle, a Rails core member.

Glenn Goodrich

▶  Containerizing Local Development... Is It Worth it?

Tony Drake

raise Exception.new or raise Exception? They're The Same

Andrzej Krzywda

🛠 Code and Tools

RubyMine 2019.3 Released — RubyMine is a commercial product but if you want a full-scale, traditional IDE, it’s a reasonable option and only continues to get more features.


Strings::Inflection: Convert Between Singular and Plural Forms of English Nouns — It can also inflect many nouns to verbs.

Piotr Murach

ImageProcessing: High-Level Image Processing Wrapper for Libvips and ImageMagick“The goal of this project is to have a single gem that contains all the helper methods needed to resize and process images.”

Janko Marohnić

Statesman: A State Machine Library — Takes a different approach to most other state machine libraries by having you define state behavior in separate classes that are then instantiated from within your other classes.


eBook: Best Practices for Optimizing Postgres Query Performance

pganalyze sponsor

Grape: An Opinionated Framework for Creating REST-like APIs — It’s been around for years but continues to get frequent updates (v1.2.5 came out just this week).

Michael Bleigh

ProgressBar: A Progress Bar for Your Terminal Apps

Paul Sadauskas

Rack::Cors: Rack Middleware for Handling Cross-Origin Resource Sharing (CORS) — Version 1.1.0 is out.

Calvin Yu

excon 0.70.0: A Fast, Simple HTTP 1.1 Client for Ruby