When using Rails credentials, you will edit the encrypted credentials for staging or production environments from time to time. To...
Slow test suites are a major pain point in projects, often due to RSpec and FactoryBot. Although minitest and fixtures...
While the main goal always is to prevent long-running queries in the first place, automatic timeouts can serve as...
When handling nested hashes the RSpec output is often hard to read. Here the gem super_diff could help.
This talk shows simple and advanced usages of the ruby/debug debugger. It goes through a step by step debugging workflow...
The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...
I recently stumbled upon the Rails feature composed_of. One of our applications dealt with a lot of addresses and...
Rails 7.1 added a new method Rails.env.local?. If you want to stub the Rails env correctly, use ActiveSupport::EnvironmentInquirer like...
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...
Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
Rails credentials are a way to store secrets in an encrypted YAML file. Usage is simple: each key in the...
Whenever you have to deal with randomness in a jasmine test there are some spy strategies to help you out...
You are given two CSS selectors that you do not control. How can you build a new selector that matches...
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...
I recently stumbled over a quirk in the way Ruby handles local variables that I find somewhat dangerous. Consider:
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...
When Rails releases a new version of their gems, they also release a number of npm packages like @rails/activestorage or...
Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...