---
title: "Implementing code reloading for Rack apps"
publication: "Ruby Weekly"
issue: 761
published_at: "2025-07-31"
canonical_url: "https://rubyweekly.com/issues/761"
---

Plus a first look at the RailsConf videos, ViewComponent 4.0, and the Stack Overflow survey results. |        

#​761 — July 31, 2025 

[Read on the Web](https://rubyweekly.com/issues/761)  

Together with [![FastRuby.io\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_467,h_106/e_make_transparent/co_white,e_outline:14/y65nyff19ylf5udphsq4.png)](https://go.fastruby.io/small-team-big-app)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/po5rvrwsjnnblvygnvq9.jpg)](https://jardo.dev/code-reloading-for-rack-apps)  

[Code Reloading for Rack Apps](https://jardo.dev/code-reloading-for-rack-apps) — If you’re working with Rack-backed apps that _aren’t_ Rails apps, you might miss some of Rails’ niceties like code reloading. Jared shows how to use [Zeitwerk](https://github.com/fxn/zeitwerk), [Listen](https://github.com/guard/listen) and [Concurrent Ruby](https://github.com/ruby-concurrency/concurrent-ruby) to recreate the experience, whatever you’re using. 

Jared Norman   

💡 On the topic of Rack, [Rack 3.2.0](https://rack.github.io/rack/3.2/CHANGELOG_md.html#label-5B3.2.0-5D+-+2025-07-31) has just been released.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/38b43238.png)](https://go.fastruby.io/small-team-big-app) 

[🧰 Small Team? Big Rails App? Bonsai Can Bridge the Gap](https://go.fastruby.io/small-team-big-app) — Are you a team of one (or a few) juggling too much tech debt? Bonsai helps you stay productive by handling upgrades, dependency management, security patches, and more. Affordable plans, no surprises or downtime. 

Bonsai by FastRuby.io sponsor   

[Solving the SPA Mystery with Inertia.js and Rails](https://evilmartians.com/chronicles/simplicity-vanished-solving-the-mystery-with-inertia-js-and-rails) — The modern JavaScript ‘single page application’ (SPA) approach has long clashed with Rails’ server-centric approach, but [Inertia](https://inertiajs.com/) can bring ideas from the two worlds together well, without the unwanted complexity and architectural overhead. 

Svyatoslav Kryukov (Evil Martians)   

**IN BRIEF:** 

- 📺 [47 videos from RailsConf 2025](https://www.youtube.com/playlist?list=PLbHJudTY1K0fOQPBF0uTwFIGuMVEKnV1p#railsconf2025) are now available to watch on YouTube. We've not had time to watch any yet, so will be back next week with some highlights.
- 🇵🇹 [EuRuKo 2025](https://2025.euruko.org/) (the European Ruby Conference) takes place this September 18-19 in Portugal. Regular priced ticket sales close tonight.
- IRB maintainer Stan Lo writes about [how he's using AI coding agents to reduce the barriers to working with other, non-Ruby languages](https://railsatscale.com/2025-07-19-ai-coding-agents-are-removing-programming-language-barriers/) (consider that working on Ruby's ZJIT requires knowing _three_ languages).
- If [▶️ DHH's mammoth 6-hour conversation](https://www.youtube.com/watch?v=vagyIcmIGOQ) with Lex Fridman was just too much, _The New Stack_ has [a quicker writeup of some of the points DHH covered.](https://thenewstack.io/dhh-on-ai-vibe-coding-and-the-future-of-programming/)   

🤖 [RubyLLM 1.4: Work with AI APIs the Ruby Way](https://github.com/crmne/ruby_llm/releases/tag/1.4.0) — [RubyLLM](https://rubyllm.com/) offers ‘one beautiful API’ for working with things like OpenAI, Claude, Gemini, and others, and has come along in leaps and bounds since we first mentioned it. v1.4 adds a _very_ useful ability to get structured output with JSON schemas without any prompt engineering gymnastics. 

Carmine Paolino   

[Rails (Might Be) Getting a Structured Event Reporting System](https://www.prateekcodes.dev/rails-structured-event-reporting-system/) — Prateek looks at [a proposed native event reporting system](https://github.com/rails/rails/pull/55334) that could provide a first-class Rails API for emitting structured business events and explains the benefits in real world scenarios. 

Prateek Choudhary   

[Watch How We Made a Postgres Query 1000x Faster](https://pganalyze.com/webinars/introducing-query-advisor?source=rubyweeklysponsored07312025) — See Query Advisor in action & watch the webinar on demand now. 

Pganalyze sponsor   

📄 [On Service Objects](https://beautifulruby.com/code/service-objects) – A self-confessed ‘critic of service objects’ articulates what he doesn’t like about them and how he thinks they _should_ be implemented. Brad Gessler 

📄 [Build Custom Active Storage Analyzers for Rails](https://blog.appsignal.com/2025/07/30/build-custom-activestorage-analyzers-for-ruby-on-rails.html) – _Analyzers_ extract or calculate metadata from blobs being handled by Active Storage and you can make your own. Julian Rubisch 

📄 [AI Agents: Implementing the ReAct Pattern in Ruby](https://www.ombulabs.com/blog/react-agent.html) Amanda Bizzinotto  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sk8amtxjvimy4lfnd9jg.jpg)](https://www.benpickles.com/articles/95-introducing-decant)  

[Decant: Framework-Agnostic, Frontmatter-Aware Wrapper for Static Content](https://www.benpickles.com/articles/95-introducing-decant) — One of those libraries you have to see in action to ‘get it’ but the idea is elegant and simple. Define a Decant class, point it to some typical static site content files, and it can help you bring them to life, such as in [a tiny Sinatra app like this.](https://github.com/benpickles/parklife.dev/blob/main/app.rb) 

Ben Pickles   

[ViewComponent 4.0: View Components for Rails](https://viewcomponent.org/) — Inspired by React, this is a popular framework for building reusable, testable & encapsulated view components using regular Ruby objects. [Version 4.0](https://github.com/ViewComponent/view_component/releases/tag/v4.0.0) is a significant release with an LTS model and numerous breaking changes to be aware of. [GitHub repo.](https://github.com/ViewComponent/view_component) 

Various Contributors   

[🔴Seamless Rails Upgrades: Expert Maintenance. Fixed Price](https://reinteractive.com/service/code-care) — Upgrade RoR smoothly. We offer expert Rails maintenance at a fixed price. Secure, performant, minimal disruptions. Outdated gems? Breaking changes? We handle it. 

reinteractive sponsor   

[RubyZip 3.0: Library for Working with `.zip` Files](https://github.com/rubyzip/rubyzip) — Create zip archives, open them up, add password protection. If you’re an existing user, there’s [a v 3.x upgrade guide.](https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x) 

The Rubyzip Team   

[Himg: The Hyper Image Generator](https://github.com/Jamedjo/himg) — _“You give it HTML and it gives back an image.”_ The idea is you could use this for creating OpenGraph images to give links back to your pages a little more flair. 

James EdJo   

[Rails GraphQL: A Rails-Flavored GraphQL Server](https://www.rails-graphql.dev/) — Connects in with Rails features like Active Record and Action Cable. This week’s release adds Rails 8 support. [GitHub repo.](https://github.com/virtualshield/rails-graphql) 

VirtualShield LLC   

- [dry-cli 1.3](https://github.com/dry-rb/dry-cli/releases/tag/v1.3.0) – General purpose CLI framework for Ruby. ([Docs with example.](https://dry-rb.org/gems/dry-cli/1.1/))
- [Strong Migrations 2.5](https://github.com/ankane/strong_migrations) – Catch unsafe migrations in development.
- [ActiveHash 4.0](https://github.com/active-hash/active_hash) – Use a hash as a data source ActiveRecord style.
- [StoreModel 4.3](https://github.com/DmitryTsepelev/store_model) – Wrap JSON-backed DB columns with ActiveModel-like classes.
- [GraphQLDevise 2.1](https://github.com/graphql-devise/graphql_devise) – GraphQL interface on top of`devise_token_auth`.
- 🤖 [OpenAI Ruby 0.16](https://github.com/openai/openai-ruby/releases/tag/v0.16.0) – Official Ruby SDK for the OpenAI API.
- [Elasticsearch.rb 9.1](https://github.com/elastic/elasticsearch-ruby/releases/tag/v9.1.0) – Ruby integrations for Elasticsearch.       

📰 Classifieds   

📈 [If your Rails team needs a little boost...](https://sinaptia.dev/services/staff-augmentation) SINAPTIA can augment your team with devs to help you increase your productivity. [Test us!](https://sinaptia.dev/contact-us) 

--- 

🐘 Postgres user? [We have a newsletter for that.](https://postgresweekly.com/)    

🎁 Tiny Bonus Items  

- 📊 The [Stack Overflow 2025 survey results](https://survey.stackoverflow.co/2025) are out.
- Very niche, but someone's built [Gopher2000](https://github.com/muffinista/gopher2000), a Ruby-powered server for the very old-school [Gopher protocol.](https://en.wikipedia.org/wiki/Gopher_%28protocol%29)
- One developer says [the old tabs vs spaces debate is 'over',](https://xn--gckvb8fzb.com/tabs-vs-spaces-the-war-is-over/) after looking at the style guides of numerous languages and Ruby is on the 'winning' side.
- Charity Majors has resurrected a lost blog post from 2015 about [how Parse migrated its API from Ruby to Go](https://charity.wtf/2025/07/24/how-we-migrated-the-parse-api-from-ruby-to-golang-resurrected/).
- 🎧 [GitHub has launched a new podcast](https://github.blog/open-source/maintainers/from-first-commits-to-big-ships-tune-into-our-new-open-source-podcast/) dedicated to _"the topics, trends, stories, and culture in and around the open source developer community on GitHub."_
- ["I know when you're vibe coding,"](https://alexkondov.com/i-know-when-youre-vibe-coding/) says Alex Kondov.         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
