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.

Today

Don't bet on SELECT's order: shuffle your rows and see what folds

SELECT * FROM posts carries no promise about the order of the returned posts. Yet, every relational database hands them back in some order, and code and tests start depending on that order. You can’t grep for a bug like this, but you can smoke it out by deliberately shuffling the rows of every unordered query and seeing what fails. (Rails has since merged a switch of its own from Evil Martians, config.active_record.shuffle_unordered_selects, due in 8.2.) We also share pg_disorder, the open-source PostgreSQL extension we built to do the same thing at the database level. Read more

Brunch Gem: Isolated Development Environments for Git Branches and Worktrees

Brunch is a Ruby gem that gives Git branches and worktrees isolated development environments. Each branch can have its own containers, network, volumes, and persistent state, while each worktree gets its own host port. This makes it easier to switch between branches safely and to run multiple worktrees in parallel, including workflows driven by IDEs and coding agents. Read more

Billing in Rails 8 — a practical guide to Pay + Stripe

I just released Billing in Rails 8, a 126-page implementation guide for building subscription billing into a Rails app with Pay and Stripe. It focuses less on getting the first Stripe Checkout session working and more on everything that comes after: keeping provider state separate from product behavior, stable application-level plans, entitlements and limits, trials, upgrades and downgrades, cancellation, failed payments, reconciliation, and testing the whole thing without making Stripe your application architecture. Read more

Rails World '26: The RubyGems Compact Index

Every time Bundler resolves your Gemfile, it’s talking to the compact index. In this post, the speaker walked us through what the compact index actually is, how RubyGems.org keeps it in sync at scale, and two features Jenny helped ship in the past year to make gem installs faster and more secure. Read more

asgard v0.4.0 now supports scheduling periodic tasks

Creating tasks to support your development workflow has always been an easy thing to do with the Thor-based asgard ruby gem with its Loki files defining your tasks and their dependencies. asgard’s two big features are its ability to run dependencies to a task either serially or concurrently or a mix of both before running the target task. Now you can create a new category of tasks that run periodically using the new schedule keyword in your loki files. Read more

Loading older posts