---
title: github.com/thoughtbot cleanup
teaser:
tags: news,open source
author: Dan Croak
published_on: 2011-06-14
---

Like many of you, we've had a lot of code pass through our
[github.com/thoughtbot](http://github.com/thoughtbot) account and we're in need
of a little cleanup our projects.

## Looking for a new home

We have not used some projects in a year or more and also do not know of any
alternatives to point people toward. We'd like to find them good homes. If
you're interested in managing one of them, please email dan@thoughtbot.com.

[`thoughtbot/sortable_table`](http://github.com/thoughtbot/sortable_table)
allows you to click the header rows of <abbr title="HyperText Markup
Language">HTML</abbr> tables to sort the contents. We were never quite happy
with the implementation and we typically question the need for the feature when
a client requests it. We tend to find there's a better UI we can provide to
solve the need they're trying to solve with sortable tables. We haven't made a
substantial commit to it in about 2.5 years. People may be using it: there are
160 watchers.

## New home

[`tsaleh/ldap-activerecord-gateway`](http://github.com/tsaleh/ldap-activerecord-gateway)
is an implementation of an LDAP server which uses ActiveRecord as a data store.
Tammer "Shoulda" Saleh is the new maintainer.

## Deprecations

Some of our projects have been replaced by better libraries or their
functionality was added by Rails. We're deprecating them, which entails this
announcement, updating the READMEs, and turning off Github Issues and Wikis for
these projects.

[`thoughtbot/what`](http://github.com/thoughtbot/what) provided boolean query
methods on Mime::Type instances for the native Rails mime-types. We now use the
`respond_to` method or the `mobile_fu` plugin and we recommend you do, too.

[`thoughtbot/when`](http://github.com/thoughtbot/when) added :if and :unless
conditions to ActiveRecord callbacks and validations and ActionController
filters. It can still be used on Rails apps pre-2.1, but it has been built into
Rails since the 2.1 release.

[`thoughtbot/capybara-envjs-fixes`](http://github.com/thoughtbot/capybara-envjs-fixes)
was a set of fixes to the capybara-envjs library during one of our earlier
attempts at integration testing Javascript (the search for the Holy Grail). It
was always intended as a temporary library. The Cucumber-Capybara-Env.js stack
was full of code that was hacks piled on hacks piled on hacks.

Instead of capybara-envjs-fixes, we now use
[`capybara-webkit`](http://github.com/thoughtbot/capybara-webkit) on almost all
our projects. It's receiving a lot of interest from the community, with lots of
good patches coming in. We're actively maintaining it and recommend you give it
a try for your integration testing stack.

[`thoughtbot/mile_marker`](http://github.com/thoughtbot/mile_marker) was a
project for visually setting expectations to clients during development,
particularly for the staging environment. We haven't used it since Rails 2.x and
now simply use a "wip" <abbr title="Cascading Style Sheets">CSS</abbr> class
when we need to accomplish the same goal.

[`thoughtbot/squirrel`](http://github.com/thoughtbot/squirrel) was a a
Ruby-esque way of querying<abbr title="Structured Query Language">SQL</abbr>.
ActiveRelation, named scopes, and projects like Searchlogic have since been
released and are much nicer and more powerful.

[`thoughtbot/report_card`](http://github.com/thoughtbot/report_card) generated a
CI metrics report using `metric_fu` and notified Campfire. It was deeply tied to
Integrity, which we no longer use. We must not have cared too much about the
metrics, either, because we haven't bothered to set up `metric_fu` again with
Hudson. If you'd like to, check out the Hudson `metric_fu` plugin.

[`thoughtbot/quietbacktrace`](http://github.com/thoughtbot/quietbacktrace) was a
filtering mechanism for deleting extra line noise in Test::Unit backtraces. It
was added to Rails 2.3.

[`thoughtbot/clearance-twitter`](http://github.com/thoughtbot/clearance-twitter)
was a Twitter OAuth library that played nicely with Clearance. Omniauth is the
bomb and should be used instead.

## Deleting forks

Some projects were forks where we needed to add additional functionality or fix
bugs. We're deleting those repos and mentioning them here with alternatives in
case you were ever using one of our forks.

[Ancestry](https://github.com/stefankroes/ancestry) allows the records of a
Ruby on Rails ActiveRecord model to be organised as a tree structure (or
hierarchy). It uses a single, intuitively formatted database column, using a
variation on the materialised path pattern. We forked it to add Rails 3
functionality, which is now included in Ancestry. We still turn to this library
when we need this functionality and recommend to others.

Friendly Identifier adds a human-readable identifier to ActiveRecord objects so
they can be used in <abbr title="Uniform Resource Locator">URL</abbr>s. The
original still exists on [Google
Code](http://code.google.com/p/friendly-identifier/). We added a minor feature
to it but now recommend
[`norman/friendly_id`](http://github.com/norman/friendly_id) instead.

[Spawn](https://github.com/tra/spawn) provides a 'spawn' method to easily fork
or thread long-running sections of code. This plugin works by creating new
database connections in ActiveRecord::Base for the spawned block. We forked it
to make it Rails 2.2 compatible. It is still an active project at tra/spawn,
however we now typically use DelayedJob or Resque for background processing (DJ
by default, Resque if we need multiple queues).
