#171 ๐Ÿ” Is reviewing AI-generated code worth the time?

Happy Wednesday!

Here is issue #171 of our newsletter, bringing you news and the best tools for your current or future Rails projectsโ€ฆ

1. ๐Ÿšš Considering a move off Heroku? Map every component first. Gelsey shares what we inventory in a week of discovery before moving a Rails app off Heroku. Read on for the Heroku CLI commands that list add-ons, config vars, and dynos, plus two pitfalls to avoid, one in Postgres and one in Redis.

2. ๐Ÿ“ฃ Rails 8.0.5.2 and 8.1.4.1 are out, fixing 21 security issues. The Rails team strongly recommends upgrading as soon as possible, and security support for the 8.0 series ends on November 7, 2026. Open the Rails release announcement for the GHSA patches that may help if you can't upgrade yet and the SHA-256 hashes to verify your gems.

3. ๐Ÿ’Ž Can your Ruby method tell nil from no argument at all? An explicit nil and an omitted argument look the same to a getter/setter method. Aha!'s post on a default argument trick shows how value = (nothing_provided = true) tells them apart, the pattern behind Rails' index_with, with no sentinel object needed.


Upcoming Events & Learning

๐Ÿ“… "Is it safe?" is the one question stopping most small business owners from using AI. Join OmbuLabs for a free 45-minute webinar on rolling out Claude in your business the right way, no technical background required. You'll walk away knowing what Claude actually does with your data, how to set ground rules your team will actually follow, and the first three steps to roll it out this month. Wednesday, November 18th, 11 am ET.


4. ๐Ÿ”’ Need admin routes reachable only from your VPN on Heroku? Daniela Baron walks through a Rails route constraint that checks request.remote_ip against a YAML allowlist of VPN egress IPs, so anyone outside the VPN gets a 404. It assumes your VPN has a stable list of egress IPs. See the constraint class, which locks everyone out if the list is missing, and the RSpec unit and integration tests.

5. ๐Ÿงน Dead code, gem bumps, error fixes: let an agent open the PRs. John Nunemaker's Nunebot is a markdown prompt that opens one small PR per repo and never merges it: 250 merged so far, median 43 lines. See how it proves each change, from the before/after request table on a Rails 7.1 Honeybadger fix to the Codex re-review of just the fixes.

6. ๐Ÿค– Tired of renegotiating plans with your AI agents? Vianca M says spec-driven development gave her agents durable specs to anchor against, so she can start a feature in Codex and continue in Claude Code. Read on for her good and bad list and the reviewer agent that scores how well specs match the implementation before she publishes the PR.

7. ๐Ÿ” Is reviewing AI-generated code worth the time? David Bryant Copeland argues that reviewing AI-generated code is all carrying cost and no benefit, and that the tokens are better spent on custom static analysis tools. Read it for his table matching bugs, mentoring and approvals to the technique that fits each.


Check out our other articles on: Ruby | Rails | Compatibility | Upgrades | Tech
Debt
| AI

Bookmark, share, or save them for later. We hope these links are helpful. ๐Ÿ˜‰

Best,

The FastRuby.io Team

Do you know anyone who would love to receive this newsletter? Tell them to subscribe๐Ÿ‘‡ and catch the latest issue right in their inbox.

Don't wait to bring your Rails application up to date.

We will get on a quick call and recommend a couple of options to start upgrading your Rails app.