Travis changed their default distribution from Ubuntu 14.04 (trusty) to 16.04 (precise). This might break your test setup for new...
Not all versions of Node.js are compatible with each other. Also npm packages may require a minimum or maximum version...
If you get requests with values for formats like this: {:locale=>[:de], :formats=>["../../../../../../../../../../etc/services{{"], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby...
Download buttons can be difficult to test, especially with Selenium. Depending on browser, user settings and response headers, one of...
When delivering non-public uploaded files (images, documents etc), one has to decide whether and how to do authorization. The...
Along with a number of other cool new features and performance improvements, Ruby 2.6 added function composition to the Proc...
Was ist Elastic? Suchmaschine, basierend auf Apache Lucene größtenteils Open-Source einige kommerzielle Features ("Elastic Stack", früher "X-Pack") Zugriffsrechte...
Tod is a gem for working with daytimes. That's a tuple of (hour, minute second) without a day, month...
When doing some meta-programming magic and you want to do something for all attributes of a class, you may...
In Rails, we usually have a mailer setup like this: class MyMailer < ActionMailer::Base def newsletter mail to: 'receiver@host.tld',
Rails' ActiveSupport::TimeWithZone objects have both a timezone code and offset, e.g. Thu, 28 Mar 2019 16:00:00 CET...
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
Rails' params hash contains any request parameters (URL parameters or request payload) as well as routing parameters like :controller, :action...
Class-level process definitions are only applied to the original file Versions are generated based on the processed original file...
For searching in large database tables we usually use PostgreSQL's fulltext search capabilities. While this works reasonably well for...
This is a presentation from 2019-01-21. Summary We want to move away from jQuery in future projects
To remove all tables from a database (but keep the database itself), you have two options. Option 1: Drop the...
When projects run for many years, they require special regular maintenance to stay fresh. This kind of maintenance is usually...
We figured out, that ActiveJob Inline might lead to autoloading problems in development. The result was an exception when running...
There are two ways to lock a user in devise. Using the lockable module Customizing the user account status validation...
When you are using lambdas in RSpec to assert certain changes of a call, you know this syntax: expect { playlist.destroy...
Font Awesome 5 is a comprehensive solution for vector icons on your website. Originally, Font Awesome came as an icon...
Phusion Passenger changed the way how it gets restarted several times. Through the project's history, these all were valid...