Migrating data from a legacy into a new system can be a surprisingly large undertaking. We have done this a...

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

Just like Ruby Gems tag their version releases to the corresponding Git commit, it can be helpful to track production...

makandracards.com

In medium-sized to large Rails applications, asset compilation can take several minutes. In order to speed up deployment, asset...

makandra dev
content.pivotal.io

A matcher is a function that returns an object with a compare key. Usually it is registered with beforeEach...

github.com

Using the JS fullscreen API is painful because all browers use different methods and events and you need to use...

MySQL and MariaDB have an SQL mode setting which changes how MySQL behaves. The SQL mode value is comprised of...

Say you want to move a git repository from one remote (perhaps Github) to another (perhaps Gitlab).

TL;DR Use user.update!(remove_avatar: true) to delete attachments outside of forms. This will have the same behavior as...

makandra dev

Git has two kind of tags: annotated lightweight Annotated tags are stored as full objects in the Git database. They...

RSpec allows you to mark a single Example/ExampleGroup so that only this will be run. This is very useful when...

makandra dev

An end-to-end test (E2E test) is a script that remote-controls a web browser with tools like Selenium...

gist.github.com

Here is some JavaScript code that allows you to click the screen and get the clicked element's text contents...

You can use local copies of gems in your Gemfile like this: gem 'spreewald', path: '~/gems/spreewald' As soon as you...

makandra dev

If you use the Better Errors gem, you will sometimes notice that it can be very slow. This is because...

makandra dev
rawgit.com

RawGit serves raw files directly from GitHub with proper Content-Type headers, for CDN-like purposes. Note that they don...

To easily opt out of notifications for a large number of Github repositories, go to https://github.com/watching.

stackoverflow.com

This card will show you how to use git rebase --onto without confusion. Use case: You've got two feature...

Sometimes, through some firewall or proxy misconfiguration, you might have to deploy to a server that cannot access the git...

makandra dev
stackoverflow.com

Assuming you're wanting to undo the effects of git rm or rm followed by git add -A or something...

chris.beams.io

Separate subject from body with a blank line Limit the subject line to 50 characters (max. 72), include...

jetbrains.com

RubyMine provides a visual tool for resolving merge conflicts locally. Follow Git > Resolve Conflicts in the context menu to open...

For the initial setup or changes in the sentry reporting it might be useful to enabled reporting of sentry in...

makandra dev
robots.thoughtbot.com

git command line options for automating common rebasing tasks, like adding a fix to a commit that was already rebased...