We recently migrated a Rails application from yarn to npm. We decided to go this step instead of upgrading to...

github.com

Zeitwerk is the new autoloader of Rails. It is mandatory starting with Rails 7.0. Sometimes, a model needs to know...

Rails 7.1 added the normalizes method which can be used to normalize user input. It lets you define the fields...

makandra dev

I noticed that tig 2.5.1 that is provided by Ubuntu 22.04 repositories has inferior bash completion than older versions after...

When using Rails credentials, you will edit the encrypted credentials for staging or production environments from time to time. To...

If a Cucumber run deletes your application directory, an integration fail between Capybara and Capybara Screenshot may be the cause...

makandra dev

This talk shows simple and advanced usages of the ruby/debug debugger. It goes through a step by step debugging workflow...

On our Ubuntu machines we have nautilus file manager with nautilus-extension-gnome-terminal installed. This adds an entry to...

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...

Rails 7.1 added a new method Rails.env.local?. If you want to stub the Rails env correctly, use ActiveSupport::EnvironmentInquirer like...

TEXT With that, the following is written to your log file. I, [2024-10-04T08:12:16.576463 #1917250] INFO -- : [97e45eae-a220-412d-96ad-e9e148ead71d] Response from example.com...

...Body: It works!') Now all lines are prefixed with timestamp and tags: I, [2024-10-04T08:13:23.193693 #1917250] INFO -- : [97e45eae-a220-412d-96ad-e9e148ead71d] Response from example.com...

Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...

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...

Rails credentials are a way to store secrets in an encrypted YAML file. Usage is simple: each key in the...

It's possible to implement simple custom RuboCop cops with very little code. They work exactly the same like existing...

You are given two CSS selectors that you do not control. How can you build a new selector that matches...

Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...

developer.mozilla.org

The Visual Viewport API enables developers to access the actually visible area of the page. This differs from the normal...

stevenhicks.me

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...