tl;dr To adjust code templates in RubyMine, navigate to Settings -> Editor -> File and Code Templates. Example You can navigate...

makandra dev

While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...

As we're switching from PT to Linear, I've updated the existing bash script to work for commits that...

Your commit messages should include the ID of the issue your code belongs to. Our preferred syntax prefixes the issue...

This card describes four variants, that add a more intuitive workflow when working with nested attributes in Rails + Unpoly:

Developing or debugging SAML functionality can be a hassle, especially when you need to go back and forth with someone...

makandra dev

10.0.0 2024-03-07 Compatible changes console command: You can now globally disable the IRB multiline feature by setting irb...

I recently built a screen with a very high and wide table in the center. This posed some challenges:

makandra dev

Usually our code lives on GitLab, therefore our documentation for CI testing is extensive in this environment. If you are...

If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...

docs.ruby-lang.org

The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000

Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...

While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...

TLDR Using .includes or .eager_load with 1-n associations is dangerous. Always use .preload instead. Consider the following ActiveRecord...

ruby-doc.org

Do you remember finding where a method is defined? I recently learned from a senior colleague that Method objects are...

Newest versions of Chromedriver breaks the user agent for device emulation via device name. In previous versions the user agent...

Rails offers several methods to manage three types of different cookies along with a session storage for cookies. These...

atlassian.com

Git log offers useful options for filtering. This card provides a short overview. By message Only commits that include a...

When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips

Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.

makandra dev

We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...

Splitting up commits makes the process of reviewing often easier, since you can create several merge requests or review every...

makandra dev
gist.github.com

Context and further resources Even though you can get 90% of debugging done with up to 5 basic byebug commands...

Debugging your integration tests, that run a headless Chrome inside a docker image, is tricky. In many cases you can...