#​709 — June 27, 2024

Read on the Web

Together with  FastRuby.io

Ruby Weekly

Awesome Ruby: A Curated List of 945 Ruby Libraries and Tools — Every year or two, we link to this epic, categorized collection of Ruby goodies. It continues to be updated frequently with new entries added (such as the new section on Gem servers) and you’re encouraged to contribute your own projects too.

Marc Anguera Insa

On the Use of Private Methods — Recently, Noel wrote about access control for methods generally, but now shares his strong opinions about when it does and doesn’t make sense to go private.

Noel Rappin

🚀 Need to Upgrade to Rails 7.2 and Ruby 3.3 but Not Sure How? — The Roadmap by @FastRubyIO: Discover the work and effort it takes to upgrade and ensure security compliance. Backed by 30,000+ hours on upgrades, your zero-downtime upgrade journey begins here. Know how long it will take before you begin.

FastRuby.io | Upgrade Services sponsor

🔠 37signals' Jacopo Beschi explains homographic spoofing (an issue caused by the presence of characters that look like other characters but aren't) and shows off a new gem to protect against it.

📅 The schedule for EuRuKo 2024 is now live. It takes place this September 11-13 in Sarajevo, Bosnia & Herzegovina.

Ruby Go is an implementation of the Go board game with Glimmer DSL for LibUI providing the UI.

Ruby: A Great Language for Shell Scripts — Ruby is a great scripting language, so if you do a fair amount of shell scripting, you might consider moving to Ruby for the more complicated scripts.

Lucas Seiki Oshiro

💡 This seems a great opportunity to link, again, to the Ruby One-Liners Guide where you can see Ruby's potential from the shell, even in simple scenarios.

Measuring Ruby Garbage Collection — Measuring how long and how often the garbage collector is running can help track performance issues, but there are some intricacies based on which Ruby version you’re on and where and when to start profiling.

RorVsWild

How to Access Raw POST Data in Rails — How you can access the raw, unaltered request body using the 20-year old raw_post method that was first added by the founder of Shopify!

Akshay Khot

Rails Performance Monitoring in Honeybadger — Honeybadger is quickly becoming the only application monitoring tool you need, now with Rails performance monitoring. Read the launch announcement to learn more. 🚀

Honeybadger.io sponsor

📄 Beyond Monospace: The Search for the Perfect Coding Font Shamin and Turner (Evil Martians)

📄 How to Add Comments to Your Tables' Columns Remi Mercier

📄 API Versioning in Rails Jeffrey Morhous

🛠 Code & Tools

Stitches 5.0: Create Microservices in Rails with 'Minimal Ceremony' — You get things like API key authentication (now an optional feature), API versioning at the router level, and some other niceties added to a Rails app.

Stitch Fix Technology

Alba 3.2: A Superfast JSON Serializer — A popular, fast, and no dependency JSON serialization engine that supports CRuby, JRuby and TruffleRuby. This release adds an integration for Rails controllers, making serialize and render_serialized_json methods available.

Okura Masafumi

Stop Worrying About Your Auth. Let FusionAuth Handle It — Flexible deployment. Self-hosted or cloud. Advanced features like MFA, SSO, and more. Check out the Ruby SDK to learn more.

FusionAuth sponsor

Minitest::Snapshots: Jest-Style Snapshot Testing for Ruby — A Minitest plugin that saves values encountered during the first run of a test, saves them, then uses them to compare against during future runs.

Matt Brictson

feed2thread: A Blog to Threads Mechanism — A gem that reads your site’s feed and posts each entry to Meta’s Threads, using the newly-released Threads API.

Justin Searls

Better HTML: HTML-Aware ERB for Rails — ERB templates usually let you render any text, but Better HTML offers runtime checks to restrict syntax and prevent certain types of interpolation (see some examples) among other things.

Shopify

pg_easy_replicate: Switch Databases with Minimal Downtime — A Ruby-powered orchestrator to simplify the task of setting up logical replication between two Postgres databases then letting you switch over to the newer one with minimal downtime.

Shayon Mukherjee