By default most exceptions in Rails will render a 500 error page and will create a new issue in your...

Rails Active Support provides some helpful methods for calculating times and dates, like Duration#ago or Duration#from...

Rails offers the fresh_when method to automatically compute an ETag from the given record, array of records or scope...

ruby-doc.org

We will achieve this by creating a block accepting method to optionally create and then lock a .lock File of...

SASS has an @extend keyword to inherit styles. .alert color: red &.-framed border: 1px solid red padding: 5px &.-homepage

developer.mozilla.org

Container queries enable you to apply styles to an element based on the size of the element's container. If...

makandra dev

If you need a sample video with certain properties for a test you can create one using ffmpeg.

If you use a newer SSH key generated with the ED25519 algorithm instead of RSA (see Create a new SSH...

makandra dev

This is a checklist I use to work on issues. For this purpose I extracted several cards related to the...

makandra dev

Rails partials have a lot of "hidden" features and this card describes some non-obvious usages of Rails Partials.

In the past we validate and set default values for boolean attributes in Rails and not the database itself.

HTTP header values must only contain low-ASCII (7-bit) characters for safe transport. From RFC 7230: Historically, HTTP has...

Not all email clients support external images in all situations, e.g. an image within a link. In some cases, a...

Carrierwave's BaseUploader can have some validations that you can use by overriding a certain method, which's expected name...

Since Rails 7 you are able to encrypt database information with Active Record. Using Active Record Encryption will store an...

Sometimes I ran across a GitHub merge request of a gem where it was not completely obvious in which version...

geekytidbits.com

To retrieve only unique combinations of the selected attributes: You can omit rows, where all selected columns are equal with...

Rails includes milliseconds in Time / DateTime objects when rendering them as JSON: JSON.parse(User.last.to_json)['created_at'] #=> "2001-01-01...

vertical-align is hard. Have you ever wanted to vertically center an icon with text? This usually means "vertically align...

thepugautomatic.com

How a macro can dynamically define a method that can be overridden with super in the same class.

After upgrading to Rails 6.1.7.2 one of our apps printed a wall of warnings while booting: /var/www/app/shared/bundle/ruby/2.6.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:68: warning: already...

phili.pe

The linked article found a simple way to rewrite legacy git aliases to make them work with differently named default...

Let's assume that we have a model Movie that registers a callback function when a new instance of Movie...

I recently enjoyed debugging a Cucumber step that tried to be retryable using a patiently block: Then /^"([^"]*)" should( not)? be...