This is a short overview of things that are required to upgrade a project from the Asset Pipeline to Webpacker...

In Rails, we usually have a mailer setup like this: class MyMailer < ActionMailer::Base def newsletter mail to: 'receiver@host.tld',

While deploying an Ruby update to an old application these days, we encountered the following misleading error: *** [err :: some-host.makandra.de] You...

Rails' ActiveSupport::TimeWithZone objects have both a timezone code and offset, e.g. Thu, 28 Mar 2019 16:00:00 CET...

When we want to use our own (or bought) fonts in an application with Webpack(er), we have two options...

When you have a powerful machine with many CPU cores, you might run into an error like

Here is how to make Rome datepicker look like the rest of your Bootstrap 4 application. Rome comes with very...

Webpacker is Rails' way of integrating Webpack, and version 4 has been released just a few days ago, allowing us...

RSpec >= 3.3 added aggregate_failures, which allows multiple failures in an example and list them all, rather than aborting on...

For searching in large database tables we usually use PostgreSQL's fulltext search capabilities. While this works reasonably well for...

makandra dev

This is a presentation from 2019-01-21. Summary We want to move away from jQuery in future projects

Spammers have started abusing other application to send their spam. This works like this: The application has some form that...

When restoring a PostgreSQL dump using pg_restore, you usually add the --clean flag to remove any existing data from...

When building an application that sends e-mails to users, you want to avoid those e-mails from being classified...

makandra dev
developer.mozilla.org

The standard way to abort async code is that your function takes a AbortSignal { signal } property. The caller can use...

makandra dev

Suggested Workflow Set the ruby version in .ruby-version to 2.3.5, then perform these steps one by one, fixing errors...

When doing Basic Authentication, your browser will send an "Authorization" header. Its value is simply a Base64-encoded representation of...

In ruby you can easily read and write CSVs with the standard CSV library class. On top of this, you...

makandra dev

To restart all tasks monitored by God, don't use god restart. This command is only meant to soft-restart...

Cucumber has an output format that prints step definitions only. You can use this to find unused ones: Temporarily add...

When upgrading Rails versions -- especially major versions -- you will run into a lot of unique issues, depending on the exact...

The Ace editor is a great enhancement when you want users to supply some kind of code (HTML, JavaScript, Ruby...

makandra dev

If your Rubymine does not recognize a file type correctly although you have entered the unmistakeable file extension like material_orders_controller.rb...

We figured out, that ActiveJob Inline might lead to autoloading problems in development. The result was an exception when running...