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...
This card shows an uncommon way to retrieve a file using selenium where JavaScript is used to return a binary...
Some rubygems come in platform-specific versions (i.e. "x86_64-linux") in addition to the usual "ruby" platform. This is...
Running gem update --system will install the latest version of RubyGems. However the latest version might not be compatible with...
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...
This card is a short summary on different ways of assigning multiple attributes to an instance of a class.
Using Capistrano, we usually have some array configurations in the config/deploy.rb file, like set :linked_files, %w[config/database.yml], so in...