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.
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
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
160 watchers.
New home
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
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.
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
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 metric_fu
plugin.
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
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 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
norman/friendly_id
instead.
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).