#491 — March 5, 2020

Read on the Web

Ruby Weekly

The Art of Writing a Good Ruby Gem Specification — Piotr’s goal here is to clear up any confusion you might have about putting together a Gemfile.spec for any gems you choose to build, as while there are tools to help you to do this, there’s still a lot you need to do by hand.

Piotr Murach

Official Docs for Ruby 2.7's Pattern Matching — The docs for the nascent pattern matching added to 2.7. You probably know that you can bind variables using pattern matching, but what about variable pinning? What class implements deconstruct_keys?

ruby-lang.org

Your Ruby CI/CD Pipeline Needs an Upgrade — The Superhuman engineering team reduced build time from 17 mins to 70 seconds. With Semaphore, you can go faster too. Model any CI/CD workflow for Ruby, Docker and iOS with autoscaling pipelines. Try it free with GitHub.

Semaphore 2.0 sponsor

RubyKaigi 2020 Postponed Due to Coronavirus — RubyKaigi is essentially the Ruby conference and is hosted in Japan every year. It was due to take place in April but has been pushed back until September due to the COVID-19 outbreak that has affected many other events like F8, Google I/O, and dotGo.

RubyKaigi Team

Spree 4.1: The Rails 6 Based Ecommerce PlatformSpree has been around for years but only continues to get better and now has a new mobile-first storefront UI.

Spree Commerce

Ruby 2.7's Numbered Parameters as Default Block Parameters — Yes, you can now do things like (1..10).map { _1 * 2 }

Taha Husain

💻 Jobs

Seeking Rails-Experienced Front End Lead Developer — Workarea is shaping the future of commerce. Join our fresh, progressive approach to enterprise ecommerce.

Workarea

Principal Engineer - Zendesk Talk (Dublin, Ireland) — Set technical priorities, innovate & problem-solve across teams with company-wide impact. Great work-life balance and culture.

Zendesk

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

Vettery

📘 Articles & Tutorials

Benchmarking Ruby 2.7.0's Numbered Parameters — It turns out that critics of numbered parameters have one less thing to cite!

Jamie Schembri

Using Hanami::API on Amazon AWS Lambda — We featured Hanami::API last week, but here’s a practical article on deploying it on a serverless platform.

Luca Guidi

Building a Rails App That Uses Multiple Subdomains — Lots of useful pointers here for the situation where you want a Rails app to cope with being served up over multiple subdomains.

Prathamesh Sonpatki

Converting Unix Epoch Timestamps to Ruby Objects — You probably know about Time.at but did you know about its in argument?

Prathamesh Sonpatki

Seamlessly Integrate Video into Your Ruby App — Mux Video is an API-first platform that makes it easy to build beautiful video that streams everywhere.

Mux sponsor

Syntax Highlighting with Action TextAction Text is the framework that provides rich text editing support to Rails 6+ apps. This 10 minute screencast walks through the practicalities of using it and adding syntax highlighting functionality.

Drifting Ruby

Why Pry is One of the Most Important Tools a Junior Rubyist Can Learn — Not even just junior Rubyists, even. I frequently forget to use Pry when it would make a lot of sense.

Melissa Williams

Compiling the Latest Ruby from Scratch with chrubychruby is a popular Ruby version ‘changer’ – here’s how to get it working with the latest head build of Ruby.

Hrvoje Šimić

Rails 6 Added 'Jitter' to ActiveJob::Exceptions.retry_on — Let’s say some failure in your system causes a lot of background jobs to fail at around the same time.. if they’re all retried at a set interval, you end up with a ‘thundering herd’ effect. Adding jitter to the retry time helps prevent this.

Aditya Narsapurkar

Faster Excel Parsing in Ruby — Benchmarking Excel parsing gems for faster parsing options.

Jamie Schembri

A Secret Weapon For Your Rails Apps? RPC with RabbitMQ and Hutch

Karol Galanciak

🛠 Code and Tools

JRuby 9.2.11.0 Released — Fixes a regression in JRuby 9.2.10.0 that broke gems and gem paths packaged inside JAR files. Compatible with Ruby 2.5.x.

JRuby

Spreadsheet Architect v4.0.0 Released — Spreadsheet Architect enables the creation of XLSX, CSV, etc. from just about anything tabular in Ruby.

Weston Ganger

Sidekiq Optimization and Monitoring

AppSignal sponsor

Chaskiq: An Open Source Conversational Marketing Alternative — An open-source alternative to Drift, Intercom, and the like. I guess if you’re going to have a chat window, you might as well own the code…

ChaskiqHQ

FakeRedis: An In-Memory Driver for redis-rb — Aimed at development and testing scenarios.

Guillermo Iguaran

Valvat 0.9: Validates European VAT Numbers — Tax number validation isn’t the most fun thing to be doing but.. that’s why we offload it to Valvat :-)

Sebastian Munz