The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...
Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...
I recently stumbled upon the Rails feature composed_of. One of our applications dealt with a lot of addresses and...
You can improve your LIKE / ILIKE search queries in PostgreSQL by adding a GIN index with an operate class ("opclass...
Rails' default logger prefixes each log entry with timestamp and tags (like request ID). For multi-line entries, only the...
Recently I needed to benchmark an Active Record query for performance measurements. I wrote a small script that runs each...
With this command you can run all the spec files which have been edited or added in the current branch...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
Whenever you have to deal with randomness in a jasmine test there are some spy strategies to help you out...
Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...
The Visual Viewport API enables developers to access the actually visible area of the page. This differs from the normal...
Sometimes you want to write a test for a business rule that's based on multiple variables. In your goal...
Sometimes we have to write code that behaves differently based on the version of a specific gem or the Ruby...
tl;dr To adjust code templates in RubyMine, navigate to Settings -> Editor -> File and Code Templates. Example You can navigate...
I was recently asked to optimize the response time of a notoriously slow JSON API endpoint that was backed by...
While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...
Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...
This card shows an uncommon way to retrieve a file using selenium where JavaScript is used to return a binary...
Debouncing a method call delays its execution until after a specified time has passed. If it's called again before...
You might know a few examples, where you configure some library via a block. One example is the Rails configuration...
This cards describes an example with a Github Client on how to keep your Rails application more maintainable by extracting...
Fresh Chrome installations now show a "Choose your search engine" popup in Europe. This might make your Cucumber tests fail...
This card is a short summary on different ways of assigning multiple attributes to an instance of a class.
I used two lab days to read the The framework field guide - Fundamentals, the first of a three part series...