#​552 — May 13, 2021

Read on the Web

Ruby Weekly

The History of RSpec — The story of RSpec’s emergence is one of the most organic developments we’ve ever read. Steven is full of gratitude (along with some regrets) about his contribution and how the community ran with it.

Steven R. Baker

The Room Where It Happens: How Rails Gets Made — Richard is a Rails committer (not core member) writing about his observations of how Rails gets made along with his observations on current events in an effort to add to the conversation about the framework’s future (see last week’s issue for more on said events).

Richard Schneeman

Deploy Rails Apps with Cloud 66 — Deploy and manage your Ruby on Rails applications to any cloud or server. From code to production in minutes. Build great web applications faster, and let us take care of your infrastructure. 4-week free trial + extra $100 free credits with the code: Ruby-Weekly!

Cloud 66 sponsor

Spelunking Ruby Gems — An “old school” (meaning using puts and raise!) debugging effort through AWS gems that helped WeTranfer remove some unnecessary HTTP requests and gain a nice performance boost.

Fabio Perrella

Rails Feature Flags: Now So Flippin' Easy You Won't Believe It — Flipper 0.21 is out and has a ton of flippin’ new conventions to make using feature flags with Flipper and FlipperCloud very, very easy. You’re going to flip! (Editor: That’s enough flipping now, Glenn.. 😆)

John Nunemaker

QUICK BITS:

📘 Articles & Tutorials

The Five Rules of Simple RSpec Tests“The 5 “rules” I try to follow in order to write simple RSpec tests.” Having worked on over 100 libraries, Piotr knows his stuff.

Piotr Solnica

Some Useful Active Support Features You May Not Have Heard Of — A look into some of the things ActiveSupport offers, such as callbacks, configuration, thread current attributes, and encryption.

Karol Bąk

A Semantic 'Blind Spot' in case? — The mutant gem finds a gap in coverage where other gems did not. I’m not entirely convinced better covered equals better code in this case though.

PAWEŁ PACANA

Monitor and Understand the Architecture Around Your Ruby Apps — Epsagon helps correlate metrics, logs, and traces for Ruby apps and troubleshoot effectively using payload information.

Epsagon sponsor

Using Sinatra to Mock Shopify API Calls in Rails Test Suites — Inspired by another gem fake_stripe, NextLink improved the consistency and execution time of their test suite with a simple Sinatra app.

Colin Soleim

How to Build a Read Model with Rails Event Store Projection — Support calculation-intensive reports with a denormalized approach that builds the calculations progressively based on events.

SZYMON FIEDLER

Throttling Database Load with Vitess — Vitess helps scale large clusters of open-source databases (MySQL and MariaDB, rn) and they recently added throttling support, which Kir shows us how to use here, along with a Ruby program to test it out.

Kir Shatrov

Start With High-Level Tests — A quick primer on how to TDD by starting big and working toward the edges.

Tom Dalling

Three Ways To Avoid Duplicate Sidekiq Jobs
Nikola Đuza

Top Ten git Tips and Tricks
Julie Kent

Jobs

Senior Ruby on Rails Engineer (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers.
Nebulab

Sr. Ruby Engineer at Propelor (EST Time Zones, Remote) — Interested in Fintech? Join our core team building the AI that will level the playing field for self-directed investors.
Propelor

Find Ruby Jobs with Hired — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now.
Hired

🛠 Code and Tools

RQRCode 2.0: A Ruby Library for Generating QR Codes — It lets you choose a size, set an error correction level, and can output as SVG, PNG, or even ASCII. Curiously my phone couldn’t scan the ASCII version until I gsubbed the ‘x’s to ‘O’s :-)

Duncan Robertson

active_period: Smart-Period Aims to Simplify Time-Range Manipulation — This has some handy time range (to the day) syntactic sugar enabling the checking if a date is in a range, creation of unbounded date ranges, or counting days in a range.

billaul

Enforce Code Standards Automatically with Lightweight Static Analysis

Semgrep sponsor

Sinew 3.0: A DSL for Structured Web Crawling — Has a built-in caching system and, as of this week’s release, uses Faraday.

Adam Doppelt

factory_bot 6.2: A Library for Setting Up Ruby Objects as Test Data

thoughtbot, inc.

Derailed Benchmarks 2.1.0: Benchmarks for Your Whole Rails App“A series of things you can use to benchmark a Rails or Ruby app.”

Richard Schneeman