RubyFlow The Ruby and Rails community linklog

Submit a post

You can use basic HTML markup (e.g. <a>) or Markdown.
Note that your post may be edited to suit the format of the site.

As you are not logged in, you will be
directed via GitHub to signup or sign in

Post Preview

Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.

  Yesterday

Turbo Drive, Frames and Streams: a reference verified against the source

Turbo’s documentation isn’t incomplete, it’s unconnected: Drive, Frames and Streams sit side by side with nothing saying what links them or how to choose. This is the reference I wanted when I started, written by reading the source of Turbo 8.0.23 and turbo-rails 2.0.23 rather than the docs, because that is where the gaps are. [more inside]

Running a Ruby MCP Server in Production

In this article, Amanda goes through what a Ruby MCP server needs once it stops being a subprocess: Streamable HTTP instead of stdio, a choice between a standalone service and an endpoint inside an existing Rails app, statelessness so it survives more than one Puma worker, Host and Origin validation that a security advisory made mandatory, a shared token as the internal floor with OAuth as the answer beyond it, and read-only models and server_context deciding what any caller can actually reach. [more inside]

Wide Events: Token-efficient Rails telemetry for coding agents

I released Wide Events, a Rails gem that records each request or job execution as one dense, high-cardinality telemetry event. It gives coding agents queryable production context without making them reconstruct what happened from scattered logs, spans, and metrics. Agents can retrieve only the relevant rows and fields for a route, account, build SHA, feature flag, or error, keeping the context compact. [more inside]

I wrote up the production problem behind Wide Events, a Rails gem that adds app…

What Happens When You Call save

An Active Record save traced from pending dirty state through validations, callbacks, persistence, and its transaction wrapper. It explains false returns with empty errors, validate: false, callback-chain inspection, successful no-op saves, and why a failed inner save can leave other work committed. RailsRevelry publishes one source-backed Rails mental model each week. [more inside]

Why Active Record’s Snapshot Semantics Are a Trade-off, Not a Missing Feature

Active Record objects hold the database-derived state they loaded; they do not stay synchronized when another process changes the row. I built four small, reproducible experiments covering stale reads, lost updates, optimistic locking, and association-cache staleness, then looked at Rails’ abandoned Identity Map and what genuinely live objects would require. [more inside]

Loading older posts