RubyMine comes with a nice way to grep through your project's files: The finder (ctrl + shift + f). Don't...

If your Ruby project includes a gem like Spreewald that comes with some external step definition, RubyMine does not know...

If rspec hangs with no output and you dont get a backtrace neither with --backtrace nor by just killing it...

In Ruby on Rails, all objects have a useful blank? method. It returns true for nil but also for empty...

The gem json fails to install for Ruby 2.5 if you use a version equal or below 1.8.3.

When installing a gem you can use version comparators like >= or ~>. That way it is possible to fetch the latest...

Cucumber up to version 2 had a neat feature called Step Argument Transforms which was dropped in favor of Cucumber...

If you get requests with values for formats like this: {:locale=>[:de], :formats=>["../../../../../../../../../../etc/services{{"], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby...

Download buttons can be difficult to test, especially with Selenium. Depending on browser, user settings and response headers, one of...

An alternative of using a multiple assignment for a Regex are named groups. Especially when your Regex becomes more complicates...

makandra dev
thoughtbot.com

Along with a number of other cool new features and performance improvements, Ruby 2.6 added function composition to the Proc...

Tod is a gem for working with daytimes. That's a tuple of (hour, minute second) without a day, month...

When doing some meta-programming magic and you want to do something for all attributes of a class, you may...

This is a short overview of things that are required to upgrade a project from the Asset Pipeline to Webpacker...

While deploying an Ruby update to an old application these days, we encountered the following misleading error: *** [err :: some-host.makandra.de] You...

Rails' ActiveSupport::TimeWithZone objects have both a timezone code and offset, e.g. Thu, 28 Mar 2019 16:00:00 CET...

Bundler 2 requires at least Ruby 2.3.0 and RubyGems 2.5.0. You might get the following error when you try to...

If your app does not need to support IE11, you can use most ES6 features without a build step. Just...

makandra dev

Suggested Workflow Set the ruby version in .ruby-version to 2.3.5, then perform these steps one by one, fixing errors...

Rails ships with two separate build pipelines: Sprockets ("asset pipeline") and Webpacker. Webpacker has many more moving parts, but allows...

makandra Curriculum

When your code does not behave as expected, you can use a debugger statement ("breakpoint") at any point in your...

When doing Basic Authentication, your browser will send an "Authorization" header. Its value is simply a Base64-encoded representation of...

In ruby you can easily read and write CSVs with the standard CSV library class. On top of this, you...

When upgrading Rails versions -- especially major versions -- you will run into a lot of unique issues, depending on the exact...