tl;dr When a cookie includes an Expires attribute or an HTTP response includes caching headers like Expires or Cache...

When setting up cronjobs, commands somtimes output something every time. If these commands don't support limiting their output to...

In FactoryBot factories, Rails' file_fixture is not available by default. To enable it, include a support module from rspec...

evilmartians.com

Some key highlights and points from the linked article TestProf II: Factory therapy for your Ruby tests. The Problem with...

Rails slightly changed the fragment cache implementation from Rails 7.0 to Rails 7.1. Unfortunately, this is incompatible with how Haml...

developer.mozilla.org

Text fragments allow linking directly to a specific portion of text in a web document, without requiring the author to...

When Ruby objects are inspected in any modern IRB, some objects (like ActiveRecord instances) are rendered with neat colors and...

blog.saeloun.com

Rails' fragment caching caches subtrees of an HTML document tree. While constructing that tree though, it can be really hard...

makandra dev

YJIT is Ruby's default just-in-time compiler. It is considered production-ready since Ruby 3.2 (source).

makandra dev

Git has the concept of hooks: bash scripts that are invoked at certain points in the Git lifecycle. One handy...

docs.aws.amazon.com

The general purpose T instance types are a good starting point. But depending on the CPU utilization of your workload...

makandra dev

A lesser known fact about PG enums is that they are ordered. This can be really handy when values have...

We recently migrated a Rails application from yarn to npm. We decided to go this step instead of upgrading to...

github.com

Zeitwerk is the new autoloader of Rails. It is mandatory starting with Rails 7.0. Sometimes, a model needs to know...

Rails 7.1 added the normalizes method which can be used to normalize user input. It lets you define the fields...

Canonical does not ship Ubuntu 24.04+ Vagrant images due to HashiCorps switch to the Business Source License (BSL). There is...

makandra dev

I noticed that tig 2.5.1 that is provided by Ubuntu 22.04 repositories has inferior bash completion than older versions after...

When using Rails credentials, you will edit the encrypted credentials for staging or production environments from time to time. To...

masilotti.com

Slow test suites are a major pain point in projects, often due to RSpec and FactoryBot. Although minitest and fixtures...

If a Cucumber run deletes your application directory, an integration fail between Capybara and Capybara Screenshot may be the cause...

While the main goal always is to prevent long-running queries in the first place, automatic timeouts can serve as...

github.com

Ever needed to migrate data between Redis instances? Give RIOT - Redis Input/Output Tools a try. It supports migration to different...

github.com

When handling nested hashes the RSpec output is often hard to read. Here the gem super_diff could help.

makandra dev

This talk shows simple and advanced usages of the ruby/debug debugger. It goes through a step by step debugging workflow...