---
title: Renaming Cocaine to Terrapin
teaser: 'We''re renaming the Cocaine gem to Terrapin.

  '
tags: ruby,rename,cocaine,terrapin
author: Jon Yurek
published_on: 2018-01-22
---

<figure>
  <img alt="Diamondback Terrapin" src="https://images.thoughtbot.com/blog-vellum-image-uploads/tBJhNlkXSFuVEkX8gNLQ_diamondbackTerrapin1.jpg">
  <figcaption>
    <cite>
      <a href="https://www.ncpedia.org/wildlife/diamondback_terrapin">
        Photo by NCWRC and courtesy of Ohio University.
      </a>
      Licensed CC-BY-NC.
    </cite>
  </figcaption>
</figure>

Cocaine was originally extracted from how Paperclip handled shelling out its
commands to ImageMagick. I named it "Cocaine" because, one, I really enjoy puns
and, two, I fully didn't expect anyone else to use it.

But, as they say, no matter what you assume, people will do something
differently. Is that what they say? Anyway, point is that people used it and had
opinions about the name. Relevant opinions, and not all of them complementary.
"It's in poor taste." "It's juvenile." "It's not something you really want to
have in your search history at work." "It's just stupid." And now I'm at the
point where I agree with all of these.

So in light of making things better, no matter how entrenched it might be, I'm
renaming Cocaine to [Terrapin](http://github.com/thoughtbot/terrapin) because
turtles are cool.

The discussion started in earnest a while ago. The most recent one was recorded
in [this GitHub issue](https://github.com/thoughtbot/cocaine/issues/99).

# Going Forward

Terrapin is being released as version 0.6.0, and Cocaine's final version will
also be 0.6.0. Both projects will have an 0.6.0.alpha version for a week or two
(as of this article) and then the real 0.6.0 will be released.

The old Cocaine gem will continue to work, and the newest version, 0.6.0, is
little more than an empty gem that points to Terrapin. It will also continue to
work, but it'll be a little noisy about telling you it's deprecated. It should
work just as fine as the previous version (0.5.8) did, plus it will allow an
easy upgrade path: Replace `Cocaine` constants with `Terrapin` and you're done.
