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

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

The Ace editor is a great enhancement when you want users to supply some kind of code (HTML, JavaScript, Ruby...

When projects run for many years, they require special regular maintenance to stay fresh. This kind of maintenance is usually...

makandra dev

If your Rubymine does not recognize a file type correctly although you have entered the unmistakeable file extension like material_orders_controller.rb...

makandra dev
github.com

Deployment ready for Opscomplete Copying view and controller templates over to target application during basics configuration or via...

Accessing pseudo elements via JavaScript or jQuery is often painful/impossible. However, accessing their styles is fairly simple. Using getComputedStyle

docs.ruby-lang.org

Percent Notation We already know that that we can create strings using the percent notation: %(<foo="bar's ton">) is...

Rubymine 2024.3 bundles Grazie Lite by default. You need to enabled "German" under Settings/Preferences | Editor | Natural Languages.

Starting with Ruby 2.0 you can define methods with keyword arguments. In 2.1+ required keyword arguments can be defined by...

When debugging your application, you will come across objects created by some gem or framework. You don't have the...

Normally you can list all gems of the current ruby version with gem list, which also includes the gems of...

In this example we assume that not only the storage gem changes but also the file structure on disc.

A JavaScript error in an E2E test with Selenium will not cause your test to fail. This may cause you...

Let's say you have a gem which has the following module: module SuperClient def self.foo 'Foo' end

keepachangelog.com

We want to keep a changelog for all gems we maintain. There are some good practices for writing a changelog...

At makandra, we've built a few gems over the years. Some of these are quite popular: spreewald (> 1M downloads...

Having a unique selector for an element is useful to later select it from JavaScript or to update a fragment...