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

makandra dev

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

makandra dev

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

Building application assets with esbuild is the new way to do it, and it's great, especially in combination with...

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

github.com

When Capybara locates elements in the DOM, by default it allows only accessing visible elements -- when you are using a...

Sometimes you need to access a dev server running on localhost from another machine that is not part of the...

RSpec Rails can automatically mix in different behaviors to your tests based on their type tag, for example enabling you...

Since Rails 6.1, if we use where.not with multiple attributes, it applies logical NAND (NOT(A) OR NOT(B)) instead...

You can use RSpec::Matchers.define_negated_matcher to define a negated version of an existing matcher. This is particularly useful...

Jasmine has spyOnProperty(), but it only works if the property is implemented using getter and setter functions. This is a...