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

Many mail clients do not support external style sheets. Some even require all styling inline, which means you'll have...

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...

makandra dev

min-width is known as a CSS property that can be set to define a least width for an element...

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

Fixed bugs where calling valid? would change the record's state.

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

github.com

You can use .ids on an ActiveRecord scope to pluck all the ids of the relation: # Modern Rails User.where("users.name...

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

From at least Rails 4, the ActionView tag helper turns Array values of HTML options into a single space-separated...

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

Rails' params hash contains any request parameters (URL parameters or request payload) as well as routing parameters like :controller, :action...

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

We forked trusty memoizer to make two changes: Memoized methods now preserve their arity. Previously all memoized methods had an...

makandra dev

Class-level process definitions are only applied to the original file Versions are generated based on the processed original file...

github.com

See the attached link for a useful overview of modern (and classic) DOM API methods, like matches, contains, append, cssText...

Bundler 2 requires at least Ruby 2.3.0 and RubyGems 2.5.0. You might get the following error when you try to...

Carrierwave includes some handy helper methods you can use to resize your images. Here is a quick summary of them...

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...

tableplus.io

To remove all tables from a database (but keep the database itself), you have two options. Option 1: Drop the...