Ruby and Rails have several methods for creating a new object that looks like another: clone, dup, deep_dup. When...
You can install rubygems 3.0.8 (released on February 18, 2020) to keep all the Gem::Specification#rubyforge_project deprecation warnings...
When you have many changes, and you want to spread them across different commits, here is a way to stage...
The linked GitHub repository is a bit like our "dev" cards deck, but groomed from a single person (Josh Branchaud...
In Active Record you can use named bindings in where-conditions. This helps you to make your code more readable...
Test-Driven Development (TDD) in its most dogmatic form (red-green-refactor in micro-iterations) can be tedious. It does...
Simplecov is a code coverage tool. This helps you to find out which parts of your application are not tested...
"Everything in Ruby is an object". This is also true for nested hashes and arrays. If you copy a hash...
A recent patch level Ruby update caused troubles to some of us as applications started to complain about incompatible gem...
Embedding videos on a website is very easy, add a tag to your source code and it just works...
Code comments allow for adding human readable text right next to the code: notes for other developers, and for your...
Ruby's Net::HTTP library repeats a failing request once, as long as it deems it idempotent (GET, HEAD etc...
To find an input with the type hidden, you need to specify the type hidden: find_field('Some label', type...
If you need to test some HTML, e.g. an embed code, you can use RubyMine's "scratch files":
We can use ActiveRecord's where to add conditions to a relation. But sometimes our condition is not on the...
TLS/SSL certificates are often used for HTTPS traffic. Occasionally a service may also use their TLS certificate to support public...
The linked article has a great explanation how to to deal with string encodings in Ruby. Furthermore you can check...
Or: How to avoid and refactor spaghetti code Please note that I tried to keep the examples small. The effects...
Imagine you want to write a cucumber test for a user-to-user chat. To do this, you need the...
This is a personal post-mortem analysis of a project that was mainly build to provide a REST API to...
PostgreSQL and ActiveRecord have a good support for storing dynamic attributes (hashes) in columns of type JSONB. But sometimes you...
Root Insurance runs their application as a monolithic Rails application – but they've modularized it inside its repository. Here is...
This checklist should help you to check edge cases that are not part of the default Carrierwave configuration.
When you have two inputs, where one contains the name of the other (eg. Name and Name with special treatment...