#478 — November 28, 2019

Read on the Web

Ruby Weekly

Ruby 2.7.0 Preview 3 Released — We’re now less than a month from the final release of Ruby 2.7 (which, fingers crossed, should be on Christmas Day, as is the tradition). If you want to get playing with pattern matching, the improved irb, and other new features though, the current preview release is pretty stable.

Yui Naruse

The .: Syntax For Referencing Methods Is Cancelled — One new feature that was expected to appear in Ruby 2.7 (and which was only just dropped in preview 3) was .: as a short hand for referencing methods. This thread covers the reasons why it’s been dropped for now – not everyone is happy with the outcome.

ruby-lang.org

Continuous Deployment Without Downtime — How do you ensure that your team can achieve zero-downtime deployments?

CircleCI sponsor

Using UUIDs in Rails 6 with Postgres and ActiveRecord — UUIDs (which look like long strings of hexadecimal numbers) are an alternative primary key type for databases with pros and cons over standard, ordered integer-based keys. Rails 6 can work with UUID keys pretty well and here’s a quick tour.

Paweł Urbanek

Ruby 2.7's Enumerator#produceproduce provides a way to generate sequences - think inject but without a single end result, and instead a sequence of results built around each step.

Prajakta Tambe

▶  RubyConf 2019 Opening Keynote: A Ruby Progress Report — The RubyConf 2019 videos are slowly beginning to come out one by one, but why not start with Matz’s keynote where he reflects on his goals for the language, how things are progressing and some of the things not making it into 2.7.

Yukihiro Matzumoto

💻 Jobs

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.

Fleetio

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.

Vettery

📘 Articles & Tutorials

Ruby Refinements and the Sorbet Type Checker — From a team actually using Sorbet and refinements! As you might guess, there are issues, but this story has a happy ending.

Paul Trippett

Configurable Ruby Modules: The Module Builder Pattern — This pattern enables the ability to tailor a module to the context of the including class, enabling code reuse and proper specificity.

Michael Kohl

Some Surprising Behaviour of Empty Arrays — Did you know that [].all? { |n| n.even? } will return true? If not, step this way..

Tim Ash

Troubleshoot Ruby App Errors and Latency with Datadog APM — Trace requests across service boundaries and optimize bottlenecks by drilling into individual traces end-to-end.

Datadog APM sponsor

Bulk Inserting Records in Rails 6 — If you want to load in a lot of data in one go, Rails 6 introduces some extra methods you’ll find useful: insert_all, insert_all!, upsert_all (upsert_all lets you basically merge a bunch of records into a database, updating existing entries as it goes).

Alkesh Ghorpade

Faking External Services in Tests with Adapters — A quick, practical example of faking external services for testing purposes.

German Velasco

Track Email Statuses in Rails with SendGrid — One for SendGrid users only (we use them to send this newsletter!)

Phil Nash

Using Bootstrap with Rails Webpacker — A tutorial for integrating Bootstrap 4 with Rails and Webpacker 4.

Ross Kaffenberger

▶  Principles of Awesome APIs and How to Build Them

Keavy McMinn

🛠 Code and Tools

Artichoke: A Ruby Made with Rust — We’ve linked to articles about Artichoke (which you can play with at that link) before, but here’s a presentation from RubyConf.

artichoke project

Rails 5.2.4 Released — Just a minor maintenance release. 6.0.1 remains the latest product release of Rails, though 6.0.2rc1 is also out with 6.0.2 final due next week.

Official Rails Blog

Put an End to Manual Code Reviews: Automate from Your Workflow

Codacy sponsor

Carmen: A Repository of Geographic Regions for Ruby — A quick way to get data and convenience methods for countries and their subregions/states/provinces.

Carmen

ezmetrics: A Simple Tool for Capturing and Displaying Rails Metrics — Captures and stores (in Redis) values for duration, views, queries, etc. for the duration specified.

Nicolae Rotaru