Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...
I recently stumbled upon the Rails feature composed_of. One of our applications dealt with a lot of addresses and...
You can improve your LIKE / ILIKE search queries in PostgreSQL by adding a GIN index with an operate class ("opclass...
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...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
Whenever you have to deal with randomness in a jasmine test there are some spy strategies to help you out...
The Visual Viewport API enables developers to access the actually visible area of the page. This differs from the normal...
Sometimes we have to write code that behaves differently based on the version of a specific gem or the Ruby...
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...
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...
Debouncing a method call delays its execution until after a specified time has passed. If it's called again before...
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.
ActiveModel classes have a class method .human_attribute_name. This returns a human-readable form of the attribute: Person.human_attribute...
In Rails 7.1 it has become possible to annotate partials with the locals they expect: # partial _user_name.erb <%# locals: (user:) %>
If an view spec crashes due to undefined helper methods, you can enable this option: # config/application.rb config.action_controller.include_all_helpers = true...
What is makandra cards? We are makandra, a team of 60 web developers, DevOps and UI/UX experts from Augsburg, Germany...
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: