If you need a sample video with certain properties for a test you can create one using ffmpeg.
This is an story checklist I use to work on stories. For this purpose I extracted several cards related to...
Rails partials have a lot of "hidden" features and this card describes some non-obvious usages of Rails Partials.
Not all email clients support external images in all situations, e.g. an image within a link. In some cases, a...
Carrierwave's BaseUploader can have some validations that you can use by overriding a certain method, which's expected name...
Since Rails 7 you are able to encrypt database information with Active Record. Using Active Record Encryption will store an...
Sometimes I ran across a GitHub merge request of a gem where it was not completely obvious in which version...
Rails includes milliseconds in Time / DateTime objects when rendering them as JSON: JSON.parse(User.last.to_json)['created_at'] #=> "2001-01-01...
Sometimes, the rails dev server doesn't terminate properly. This can for example happen when the dev server runs in...
Let's assume that we have a model Movie that registers a callback function when a new instance of Movie...
I recently enjoyed debugging a Cucumber step that tried to be retryable using a patiently block: Then /^"([^"]*)" should( not)? be...
When an object is created / updated, various callbacks are executed in this order: before_validation after_validation before_save
TLDR if you define a equality method for a class you must also implement def hash. Ruby has a lot...
Timecop is a great gem to set the current time in tests. However, it is easy to introduce flakyness to...
In a Jasmine spec you want to spy on a function that is imported by the code under test. This...
We usually rely on VCR and WebMock to prevent any real network connection when running our unit tests.
Usually, Unpoly compiler destructors are returned from the compiler function. However, when using async compiler functions, you can not register...
In esbuild, you usually import other files using relative paths: import './some-related-module' import `../../utils/some-utility-module` import `../../../css/some-css.sass` This is totally fine...
tl;dr You should decouple migrations from models by embedding models into the migration. To use STI in this scenario...
As a developer you may have many tools watching your project for changes: Your IDE, Webpack, Guard, etc. This is...
Jasmine specs for the frontend often need some DOM elements to work with. Because creating them is such a common...
Jasmine specs that work with DOM elements often leave elements in the DOM after they're done. This will leak...
tl;dr In Chrome DevTools in the Layouts tab you have handy options to debug CSS Flexbox and Grid. Including...
While in CSS zero is usually referenced without specifying a unit (e.g. padding: 0), you must not use a unitless...