---
title: "3 is the magic number"
publication: "Ruby Weekly"
issue: 530
published_at: "2020-12-03"
canonical_url: "https://rubyweekly.com/issues/530"
---

Plus a new RubyMine release, faster email checking, and a Ruby advent calendar. |        

#530 — December 3, 2020 

[Read on the Web](https://rubyweekly.com/issues/530)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ifjghazdpksgwg1qf04h.jpg)](http://planetruby.github.io/gems/)   

[The 2020 Ruby Advent Calendar 2020](http://planetruby.github.io/gems/) — An article per day about a Ruby gem. So far, `local_time`, `elastic-enterprise-search` and Blazer have been covered. 

Best of Ruby Gems Series   

[Squash 'Unexpected `end`' Errors with `syntax_search`](https://schneems.com/2020/12/01/squash-unexpectedend-errors-with-syntaxsearch/) — How a misleading error and years of simmering frustration fueled Richard to create a handy gem that will show you the _real_ error that’s occurring in your code. 

Richard Schneeman   [![\](https://copm.s3.amazonaws.com/c7fd8e97.png)](https://pganalyze.com/ebooks/optimizing-postgres-query-performance?utm_source=RubyWeeklyPrimary12032020) 

[Free eBook: How to Get a 3x Performance Improvement on Your Postgres Database](https://pganalyze.com/ebooks/optimizing-postgres-query-performance?utm_source=RubyWeeklyPrimary12032020) — Learn our best practices for optimizing Postgres query performance for customers like Atlassian and how to reduce data loaded from disk by 500x. 

pganalyze sponsor   

[How 1.5 is the Midpoint Between 0 and Infinity in Ruby](https://blog.peterzhu.ca/ruby-range-bsearch/) — So maybe 3 is the meaning of life rather than 42? :-) Fun with `Range#bsearch` (which is a fun method to be familiar with, if you aren’t already) follows. 

Peter Zhu   

[Rails 6.1 RC2: Horizontal Sharding, Multi-DB Improvements, Strict Loading, and More](https://weblog.rubyonrails.org/2020/12/1/Rails-6-1-rc2-release/) — The next big significant release of Rails is almost here and RC2 promises a ‘more robust experience’ than before. If you have multiple databases in the mix, you definitely need to check this out. 

Official Rails Blog   

[RubyMine 2020.3 Released](https://blog.jetbrains.com/ruby/2020/12/rubymine-2020-3-released/) — The popular (though commercial) Ruby IDE gets an update. You can now stage files directly from the IDE, get interactive hints in the debugger, and some UI improvements. 

JetBrains  

💻 Jobs  

[Senior Full-Stack Engineer (Remote - Americas)](https://weworkremotely.com/remote-jobs/remotelock-sr-full-stack-engineer-ruby-on-rails) — RemoteLock™ is looking for talented engineers to help us grow our enterprise-class product line of IoT access control devices and web & mobile software. 

RemoteLock   

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-rubyweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77583) — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. 

Vettery   

ℹ️ _Interested in running a job listing in Ruby Weekly? There's [more info here](https://booking.cooperpress.com/jobs)_. 

📘 Articles & Tutorials  

[Why You Shouldn’t Inherit From Ruby’s Core Classes (and What to Do Instead)](https://avdi.codes/why-you-shouldnt-inherit-from-rubys-core-classes-and-what-to-do-instead/) — A newly-free Ruby Tapas episode from 2012 that still rings true today. 

Avdi Grimm   

[Building a Multi-Tenant Rails App with Subdomains](https://blog.appsignal.com/2020/12/02/building-a-multi-tenant-ruby-on-rails-app-with-subdomains.html) — Multi-tenant apps can use single or multiple databases, so Pawel explains and compares both scenarios. 

Paweł Dąbrowski   

[`Enumerable#tally`](https://scottw.com/blog/tally/) — A quick look at a _very_ useful method that slipped into Ruby with 2.7, a `tally` function for enumerables that counts up the quantity of certain values. 

Scott Watermasysk   

[Running Rails 6.0? Ready for 6.1? Our Stay Up to Date Service Can Help](https://fastruby.io/stay-up-to-date?utm_source=rubyweekly&utm_campaign=sutd&utm_content=1203) — FastRuby.io's new Stay Up To Date service continually pushes PRs to your repository to ease your future upgrade to Rails 6.1. 

FastRuby.io | Rails Upgrade Services sponsor   

[How to Call Shell Commands From Ruby](https://stackoverflow.com/q/2232/3951) — My favorite piece of this is the answer with a complete flowchart of when you’d pick certain approaches to running external scripts. 

Stack Overflow   

[Migrating Classic Slack Ruby Bots to Granular Permissions](https://code.dblock.org/2020/11/30/migrating-classic-slack-ruby-bots-to-granular-permissions.html) — Do you have a custom Slack app that you’ve built or maintain? Slack changed its permissions system earlier this year and will require apps to use the new approach by the end of 2021, so you’ll need to upgrade them. 

Daniel Doubrovkine   

[Automatically Run Migrations When Pushing to Heroku](https://rubyyagi.com/auto-migrate-heroku/) — I’ve been using Heroku for years and admittedly didn’t know about this feature of `Procfile` 

Ruby Yagi 🐐   

[RSpec - A Gentle Introduction to Testing](https://longliveruby.com/articles/introduction-to-rspec) 
Paweł Dąbrowski  

🛠 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/shjcvrw1egipgmio3nb5.jpg)](https://truemail-rb.org/truemail-gem/#/)  

[trueMail 2.2: A Ruby Email Validator and Verifier](https://truemail-rb.org/truemail-gem/#/) — Verify an email address via regex, DNS and even SMTP to ensure it’s valid and exists. [2.2 has added](https://github.com/truemail-rb/truemail/releases/tag/v2.2.0) a ‘fail fast’ feature for even quicker validation. [GitHub repo.](https://github.com/truemail-rb/truemail) 

Vladislav Trotsenko   

[Lockbox 0.6: Modern Encryption for Rails](https://github.com/ankane/lockbox) — Got personally identifiable information you’d like to make more secure? This integrates with Active Record, Action Text, Mongoid, and more to help get it done. 

Andrew Kane   

[Video for Your Ruby App That Streams Beautifully, Everywhere](https://get.mux.com/3mlmVEN) 

Mux sponsor   

[Rutie: A Tie Between Ruby and Rust](https://github.com/danielpclark/rutie) — Hey! You got Rust in my Ruby? Oh yeah? Well, you got Ruby in my Rust! 

Daniel P. Clark   

[StrictlyFake: Stub That Verifies Stubbed Methods Exist and the Signatures Match the Original](https://github.com/featurist/strictly_fake) 
Featurist   

[An OmniAuth Strategy for 'Sign In with Apple'](https://github.com/nhosoya/omniauth-apple) 
Naoki Hosoya         

Curated by [Peter Cooper](https://twitter.com/peterc), [Glenn Goodrich](https://twitter.com/ruprict) and [Cooperpress](https://cooperpress.com/). 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
