Like many of you, we’ve had a lot of code pass through our github.com/thoughtbot account and we’re in need of a little cleanup our projects.
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 email@example.com.
allows you to click the header rows of HTML 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
is an implementation of an LDAP server which uses ActiveRecord as a data store.
Tammer “Shoulda” Saleh is the new maintainer.
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 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 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.
was a set of fixes to the capybara-envjs library during one of our earlier
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 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 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” CSS class
when we need to accomplish the same goal.
thoughtbot/squirrel was a a
Ruby-esque way of queryingSQL.
ActiveRelation, named scopes, and projects like Searchlogic have since been
released and are much nicer and more powerful.
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
thoughtbot/quietbacktrace was a
filtering mechanism for deleting extra line noise in Test::Unit backtraces. It
was added to Rails 2.3.
was a Twitter OAuth library that played nicely with Clearance. Omniauth is the
bomb and should be used instead.
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 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 URLs. The
original still exists on Google
Code. We added a minor feature
to it but now recommend
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).