tl;dr When a cookie includes an Expires attribute or an HTTP response includes caching headers like Expires or Cache...
In FactoryBot factories, Rails' file_fixture is not available by default. To enable it, include a support module from rspec...
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...
Text fragments allow linking directly to a specific portion of text in a web document, without requiring the author to...
Capistrano 3 has a doctor task that will print information about Environment: Ruby, Rubygems and Bundler versions List of Capistrano...
Rails' fragment caching caches subtrees of an HTML document tree. While constructing that tree though, it can be really hard...
Git has the concept of hooks: bash scripts that are invoked at certain points in the Git lifecycle. One handy...
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...
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...
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...
When users type into a Tom Select control, the options list is updated with a short delay which can feel...
If a Cucumber run deletes your application directory, an integration fail between Capybara and Capybara Screenshot may be the cause...
Ever needed to migrate data between Redis instances? Give RIOT - Redis Input/Output Tools a try. It supports migration to different...
On our Ubuntu machines we have nautilus file manager with nautilus-extension-gnome-terminal installed. This adds an entry to...
The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...
Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...
Rails 7.1 added a new method Rails.env.local?. If you want to stub the Rails env correctly, use ActiveSupport::EnvironmentInquirer like...
TEXT With that, the following is written to your log file. I, [2024-10-04T08:12:16.576463 #1917250] INFO -- : [97e45eae-a220-412d-96ad-e9e148ead71d] Response from example.com...
...Body: It works!') Now all lines are prefixed with timestamp and tags: I, [2024-10-04T08:13:23.193693 #1917250] INFO -- : [97e45eae-a220-412d-96ad-e9e148ead71d] Response from example.com...
Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...