#​681 — December 7, 2023

Read on the Web

Together with  pgAnalyze

Ruby Weekly

Ruby 3.4 Will Have 'it' — There’s never been any doubt: Ruby has it. But now as well as the ‘it’ factor, it really will have it. Confused? it is a nicer looking shortcut to the first parameter in a block (a la _1) – e.g. arr.each { puts it }. Ruby 3.3 will warn on it with 3.4 (due in a year’s time) getting the real deal.

Takashi Kokubun

“Useless Ruby Sugar”: Endless (One-Line) Methods — Victor continues his fantastic series on controversial, newer elements of Ruby syntax with a look at single line method definitions, as supported by Ruby 3.0 and higher, e.g. def double(x) = x * 2.

Victor Shepelev

💡 Lucian Ghinda shows off a use case for such end-less methods.

Free eBook: Efficient Search in Rails with Postgres — In this eBook, Leigh Halliday explains how to speed up a search query from seconds to milliseconds — walking through using exact matches, similarity matches with trigrams, partial matches with ILIKE, and natural language matches.

pganalyze sponsor

Ruby Central's Mega November 2023 News Roundup — Did you know Ruby Central has its own newsletter? The non-profit that runs RubyConf, RailsConf, and supports projects like Bundler and RubyGems has had a busy month, but perhaps the biggest news is they’ve hired Samuel Giddins as a Security Engineer in Residence to help work on the security of the RubyGems supply chain.

Ruby Central

📕 Articles & Tutorials

How to Add a man Page to Your Ruby Project — If you run git clone --help it displays its own man page, and if you want similar functionality for your Ruby CLI, here’s how to make it happen.

Postmodern

When Static Types Make Your Code Shorter“I was recently porting some code from Ruby to Crystal and was surprised by something: the Crystal code was shorter because it used static types.”

Evan Hahn

Pressure Kills Cognition — Free up space for deep work. Burst capacity for today's deadlines and strategies to make tomorrow's goals attainable.

Test Double sponsor

▶  Adding Hotkeys to a Rails App — Using stimulus-hotkeys.

Drifting Ruby

Optimizing Performance by Implementing a Dual Database Setup — Adding a replica DB to a Rails app to split up the read/write load.
Harshaan Nihal Khan

Understanding the Rails Router: Why, What, and How
Akshay Khot

How to Use Shoulda Matchers with RSpec
Kingsley Chijioke

🛠 Code & Tools

Better Mailer Previews: A Way to Preview ActionMailer Email Templates — A Rails engine that builds on top of native Rails mailer previews with enhancements including seeing live, resizable previews, and the ability to forward previews to an email address.

Harrison Broadbent

rack-mini-profiler 3.3: A Profiler for Rack Apps in Dev or Production — A popular piece of middleware that adds a ‘speed badge’ to pages in your app to show off database, call-stack and memory profiling data.

Sam Saffron, Nate Berkopec et al.

Do You DIY? 🧐 BYO Error Monitoring Stack for Ruby 👷‍♀️🛠️ — Learn Ruby's built-in errors, how to use log levels and tagging to customize the log output, display errors, and more.

Honeybadger sponsor

acts_as_tenant 1.0: Easy Multi-Tenancy for Rails in a Shared DB Setup — Adds the ability to scope models to a tenant where tenants are represented by a separate tenant model, e.g. Account.

Chris Oliver

re2 2.5: Ruby Bindings to Google's RE2 Regex Library — A safe, thread-friendly alternative to backtracking regular expression engines. We featured this just a month ago but v2.5.0 features improved documentation and introduces new full_match/full_match? and partial_match/partial_match? methods to expose more of RE2’s underlying interface.

Paul Mucur

BasedUUID: URL-Friendly, Base32-Encoded UUIDs — The rationale is to have a more manageable, ‘double-clickable’ UUID format – the result is a 26-character, base32-encoded (no i, l, o, or u), lowercase string (with an optional prefix) like 51yr0ebuck1sp00l0lkk7cssd1.

Piotr Chmolowski

Spaced: A Way to Isolate and Namespace Methods in Classes — An interesting idea. Rather than nesting modules or classes, you define methods within a namespace block which makes them available through a chained method on the class’s instance objects.

Joel Moss

ruby-install 0.9.3: Install CRuby, JRuby, TruffleRuby and More — A tool to install arbitrary versions of several Ruby implementations. v0.9.3 includes three significant bug fixes for macOS users.

Postmodern

Dentaku: Math and Logic Formula Parser and Evaluator — Allows run-time binding of values to variables referenced in user supplied formulas. Intended to safely evaluate untrusted expressions.

Solomon White

Pay 7.0: A Payments Engine for Rails Apps — Supports Stripe, Paddle, Braintree, as well as a ‘fake’ processor for trials, freebies, testing, etc.

Chris Oliver

Jobs

Find Ruby Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired