Ruby includes many standard gems that are bundled into the Ruby installation. Here is an example for the gem strscan...
When changing code in mailers, updating the corresponding mailer preview is easily forgotten. Mailer previews can be tested like other...
If you have a JS fiddle, you can open it in fullscreen by appending /show to the URL. Example: https://...
It might sometimes be useful to check whether your Rails application accesses the file system unnecessarily, for example if your...
Testing file download links in an end-to-end test can be painful, especially with Selenium. The attached download_helpers.rb provides...
While verifying doubles in RSpec is a good default, it is limited in the amount of methods it actually is...
Code quality can be measured in four levels: (Working code) Reliable code (minimum) Readable code (ok for short-lived code...
There is a way to use multiple databases in Rails. You may have asked yourself how you're able to...
You can use Unpoly's up.on with a named listener function and immediately unbind this event listener with { once: true...
In Chrome DevTools you can use getEventListeners(object) to get a list of registered event listeners on the specified object...
When you need information about a gem (like version(s) or install path(s)), you can use the gem binary...
tl;dr: Use the URLSearchParams API to make your live easier if you want to get or manipulate query parameters...
Due to the way we setup Jasmine tests in our projects, you may run into various errors when Jasmine boots...
This card explains how to generate an entity relationship diagram for your Rails application. We also show how to limit...
Redis.current will be removed without replacement in redis-rb 5.0. Version 4.6.0 adds deprecation warnings for Redis.current and Redis.current=: `Redis.current...
While we are used to run our JavaScript tests on a test page within our Browser, it's also possible...
I recently was in a weird situation where my (Jest/CLI) tests were referencing a function that was no longer part...
RSpec's let allows you to super into "outside" definitions, in parent contexts. Example: describe '#save' do subject { described_class.new(attributes...
To ensure a consistent code style for JavaScript code, we use ESLint. The workflow is similar to integrating rubocop...
This are the steps I needed to do to add esbuild to an application that used the vanilla rails asset...
Sometimes we write plain SQL queries in migrations so we don't have to mock ActiveRecord classes. These two migrations...
Attaching files to a field that is handled by Carrierwave uploaders (or maybe any other attachment solution for Rails) in...
You want to deploy new features but the latest commits are not ready for production? Then use git merge master...
When Capybara locates elements in the DOM, by default it allows only accessing visible elements -- when you are using a...