We recently migrated a Rails application from yarn to npm. We decided to go this step instead of upgrading to...
Rails 7.1 added the normalizes method which can be used to normalize user input. It lets you define the fields...
Slow test suites are a major pain point in projects, often due to RSpec and FactoryBot. Although minitest and fixtures...
While the main goal always is to prevent long-running queries in the first place, automatic timeouts can serve as...
When handling nested hashes the RSpec output is often hard to read. Here the gem super_diff could help.
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...
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...
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...
Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...
I recently stumbled over a quirk in the way Ruby handles local variables that I find somewhat dangerous. Consider:
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...
Debouncing a method call delays its execution until after a specified time has passed. If it's called again before...
Using Capistrano, we usually have some array configurations in the config/deploy.rb file, like set :linked_files, %w[config/database.yml], so in...
ActiveModel classes have a class method .human_attribute_name. This returns a human-readable form of the attribute: Person.human_attribute...
When you mocked method calls in RSpec, they are mocked until the end of a spec, or until you explicitly...
After an upgrade to rails 7 I noticed that async reindexing jobs of Searchkick were failing for Model.reindex(mode: :async...
tl;dr Do not use the option optional on association declarations with a symbol, lambda or proc. Explanation Association declarations...
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:
We are using assignable_values for managing enum values in Rails. Nevertheless Rails is adding more support for enum attributes...