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...

github.com

The linked GitHub repository is a bit like our "dev" cards deck, but groomed from a single person (Josh Branchaud...

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...

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...

By default, Devise redirects to a sign-in form when accessing a route that requires authentication. If for some reason...

makandra dev

Code comments allow for adding human readable text right next to the code: notes for other developers, and for your...

Sometimes it's nice to have some coloring in your logs for better readability. You can output your logs via...

To find an input with the type hidden, you need to specify the type hidden: find_field('Some label', type...

makandra dev

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...

You can use the CSS property mask-image to define an "alpha channel" for an element. E.g. to let an...

TLS/SSL certificates are often used for HTTPS traffic. Occasionally a service may also use their TLS certificate to support public...

tenderlovemaking.com

The linked article has a great explanation how to to deal with string encodings in Ruby. Furthermore you can check...