#​745 — April 3, 2025

Read on the Web

Together with  FastRuby.io

Ruby Weekly

RubyUI 1.0: Reusable Copy-and-Paste Components for Rails Apps — Formerly known as PhlexUI, RubyUI is a collection of reusable Phlex-powered components you can generate or copy and paste into your apps. There’s full documentation, as well as a page for each of the 43 components on offer, covering things like badges, checkboxes, cards, sheets, and tables. GitHub repo.

RubyUI Team

How Ruby Makes Advanced CLI Options Easy — Ruby’s OptionParser standard library offers a straightforward way to work with command line options without pulling in any dependencies.

Justin Searls

💤 Make Ruby Upgrades Budget-Friendly & Boringly Reliable — FastRuby’s fixed-cost, monthly maintenance services keep security tight and uptime high. The team behind the `next_rails` gem makes tech debt remediation feel delightfully boring so your team can keep up with your product roadmap. 🚀

Bonsai by FastRuby.io sponsor

IN BRIEF:

Profiling Rails Apps with Rails Debugbar — Julien Bourdeau’s DebugBar gives you an extra way to get insights into what your Rails app is doing behind the scenes, directly from a toolbar in the browser. Akshay explains how to use it to find things worth fixing.

Akshay Khot

Hiding Unfinished Features in Rails — A quick and easy tip for adding a under_construction helper that hides features outside of the development environment.

Mintbit

🛤️ Don’t Let Tech Debt Stop You in Your Tracks — Hire engineers with 15 years of experience to keep your Ruby on Rails app up to date, stable, and secure.

INFINUM sponsor

📄 Ultimate Guide to Server Hardening for Kamal Khash Sajadi

📄 More About How to Create a Data Class in Ruby Lucian Ghinda

📄 Sidekiq 8.0's Improvements to the Web UI Mike Perham

📄 How to Configure 'Sign In with Apple' in Rails 8 ...without Omniauth. Clayton

📄 Rails 8 Removes Channels From Default App Structure Prasanth Chaduvula

📄 How to Use Pry to Debug Ruby Apps Melissa Williams

🛠 Code & Tools

Nōdo: A Way to Call Node.js from Ruby — A mechanism for letting Ruby scripts make calls to Node.js-based functions via a Unix socket-based IPC approach. (We also learn that “ノード” means “node” in Japanese.)

Matthias Grosser

Rage 1.15: An HTTP API Framework Compatible with Rails — A high performance, fiber-based API-only Web framework that boasts compatibility with Rails. v1.15.0 introduces an OpenAPI Explorer for experimenting with Rage’s OpenAPI support without needing to set up a project first.

Roman Samoilov

bidi2pdf: Convert a URL to PDF using Ruby and Chrome — A proof of concept offering both a CLI and Ruby library interface to using Chrome to render PDFs of Web pages.

fastjack

📰 Classifieds

Buff your Monolith Performance metrics, log management - everything you need to keep Rails shiny and fast. Try Scout Monitoring!


🏡 Join the team that’s rebuilding homeownership - Gen H is an innovative mortgage lender seeking a mid-level Ruby engineer to help make homebuying simple, transparent and fair.


Supercharge your team! SINAPTIA fuses with your team while you enjoy the productivity boost. Find out what we can achieve together!

📢  Elsewhere

A quick roundup of some other interesting updates or useful resources in the broader developer landscape:

  • If you fancy writing a blog post that might make it into Ruby Weekly, checking out How to Write Blog Posts that Developers Read by Michael Lynch isn't a bad idea.. :-) (Then hit reply and tell us about it!)

  • ls-lint is a mature tool for linting file and directory names in projects.

  • Over in Node-land, Express 5.1 has been released and becomes the first 5.x release to be marked as latest on npm.

  • In other JavaScript news, React 19.1 has been released.

  • 🤖 If you haven't checked out Google's Gemini AI tool recently, it now supports generating HTML, JavaScript, and React code in a 'canvas' mode for building components on the fly.

  • If you've got any interest in functional programming, Bozhidar Batsov shares why F# is worth looking at. It's not as pretty as Ruby, IMHO, but certainly more readable than Haskell or Erlang!