betterspecs.org is a documentation on how to write better RSpec tests. Note that there are also other approaches like The...
We use the whenever gem to automatically update the crontab of the servers we deploy to. By default, whenever will...
One of the earliest pieces of wisdom we are given as programmers is to not write duplicate code: Don’t...
Using git fixup helps you to speed up appending changes further back in the git history of your feature branch...
In case you want to use pry with an older version of Ruby, you can try the following configurations.
To make CSS rules dependent on the screen size, we use media queries: @media (max-width: 500px) { // rules for screen...
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...
You can run bundle install in parallel. This might be helpful for development, where you often install many new gems...
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...
With puma you can have concurrent requests. There are two concepts on how Puma can handle two incoming requests: Workers...
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...
Chrome allows you to throttle the Network and the CPU. Both settings are useful to measure the performance of you...
When we write a form with date fields, we often use graphical data picker like Rome to get a consistent...
Turns out, Cucumber::MultilineArgument::DataTable#diff! caches some stuff. Code of the following form will not work as intended:
Embedding videos on a website is very easy, add a tag to your source code and it just works...
Because colors improve readability so much. On Ubuntu 18.04 you can install it with sudo apt install grc
By default, Devise redirects to a sign-in form when accessing a route that requires authentication. If for some reason...
Code comments allow for adding human readable text right next to the code: notes for other developers, and for your...