Sometimes we have to write code that behaves differently based on the version of a specific gem or the Ruby...

makandra dev

While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...

When Rails releases a new version of their gems, they also release a number of npm packages like @rails/activestorage or...

Some rubygems come in platform-specific versions (i.e. "x86_64-linux") in addition to the usual "ruby" platform. This is...

Running gem update --system will install the latest version of RubyGems. However the latest version might not be compatible with...

This cards describes an example with a Github Client on how to keep your Rails application more maintainable by extracting...

If you are using the routing-filter gem in your Rails 7.1 app for managing URL segments for locales or...

When making requests using the http gem you might want to automatically follow redirects to get the desired response. This...

Debugging performance issues in your Rails app can be a tough challenge. To get more detailed insights consider using the...

If you need to make an HTTPS connection to a host which uses an expired certificate, do not disable certificate...

It's 2024 and we have tools like ffmpeg, imagemagick and GPT readily available. With them, it's easy to...

github.com

There are a few tools to combat the dreaded n+1 queries. The bullet gem notifies you of missing eager...

Here are some hints on best practices to maintain your tasks in larger projects. Rake Tasks vs. Scripts

edgeapi.rubyonrails.org

The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...

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

makandra dev

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

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

Most of our applications use CarrierWave for file uploads. CarrierWave has an integrated processing mechanism for different file versions with...

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

We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application...

rspec.info

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