Getting an entire test suite green can be a tedious task which involves frequent switches between the CLI that is...

This Capistrano task runs a command on all servers. bundle exec cap production app:run cmd='zgrep -P "..." RAILS_ROOT/log/production.log...

In the Gitlab settings the flag Auto-cancel redundant pipelines is enabled by default. This auto-cancels jobs that have...

makandracards.com

A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch

OpenAI is currently limiting the Audio generating API endpoint to text bodies with a maximum of 4096 characters.

makandra dev

Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...

tl;dr You can use ordered to ensure that messages are received in a specific order. Example expect(ClassA).to...

When you find similar groups of expect calls in your tests, you can improve readability by extracting the group into...

docs.ruby-lang.org

The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000

ruby-doc.org

Ruby has the class Rational which allows you to store exact fractions. Any calculation on these variables will now use...

Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...

While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...

All direct child directories of app are automatically added to the eager- and autoload paths. They do NOT create a...

On the Rails console, assigning an object to a variable can lead to this strange error (without stacktrace): irb > recipient...

In the discussion of the difference between include and extend in Ruby, there is a misconception that extend would add...

selenium.dev

I recently stumbled over a problem that my feature tests broke in CI because of a mismatching chromedriver version.

Given you have an array column like this: create_table "users", force: :cascade do |t| t.integer "movie_ids", default: [], array...

thegnar.com

View specs are a powerful tool to test several rendering paths by their cases instead of using a more costing...

The recommended additional setup of the spreewald gem, a useful set of cucumber steps, includes adding a file for defining...

rspec.info

Note Don't use reruns as a mean to work around flaky tests. You should always try to fix those...

ruby-doc.org

Do you remember finding where a method is defined? I recently learned from a senior colleague that Method objects are...

github.com

The linked rbenv plugin rbenv-each is very helpful to keep QoL gems up to date that are not part...

You don't want sensitive user data in your logs. Background Rails per default filters sensitive data like...

Disclaimer This card is a collection of guides and things to have in mind when upgrading to a specific version...