In Capistrano 3, your Capfile requires 'capistrano/rails/migrations', which brings two Capistrano tasks: deploy:migrate and deploy:migrating. The former checks...
#pluck is commonly used as a performant way to retain single database values from an ActiveRecord::Relation Book.pluck(:title, :price...
Added: State machine can now use the :prefix-option to avoid name collision if you define multiple state machines on...
Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...
Make sure that you use the correct property when editing an HTML attribute. Using innerHTML with unsafe arguments makes your...
tl;dr You can use ordered to ensure that messages are received in a specific order. Example expect(ClassA).to...
In my career, I have consumed hundreds of REST APIs and produced dozens. Since I often see the same mistakes...
When you find similar groups of expect calls in your tests, you can improve readability by extracting the group into...
If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...
The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000
Apply Test Driven Development(TDD) to the process of building container images by defining test before writing code and automate...
Ruby has the class Rational which allows you to store exact fractions. Any calculation on these variables will now use...
Even when you app has no CSS at all, you still inherit a default user agent stylesheet from your browser...
Creating Nagios Config with puppet Let's have a look at the classic way of managing Nagios configuration with exported...
Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...
If you want to automatically delete old container images from your Elastic Container Registry, the solution is a quite simple...
There is a gem puppet-ghostbuster which can help you find dead code in puppet projects. To use it, (as...
For some reason you have to pass the password hash if you want to create a role in postgres. To...
The old Chrome downloads bar had several advantages over the new subtle downloads dropdown: see all (many, at least) downloads...
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...
TLDR Using .includes or .eager_load with 1-n associations is dangerous. Always use .preload instead. Consider the following ActiveRecord...
In the discussion of the difference between include and extend in Ruby, there is a misconception that extend would add...